pg_dump --data database_name > dump.sql
我想在这个(651到999)范围内生成随机数,但不想要660,670,680这样的结尾为零或中间(707,805)所以在这种情况下帮助我 在此代码错误中: - while循环中的i1不是局部变量
答案 0 :(得分:1)
您可以执行以下操作。所有你需要做的就是循环,直到找到一个不能被10整除的数字。
int min = 651;
int max = 999;
Random r = new Random();
int randomNum;
while(true){
randomNum = rand.nextInt((max - min) + 1) + min;
if(randomNum%10!=0){
break;
}
}
//now you have the required random number
您的代码中出现了什么问题
除了在其上下文之外访问局部变量之外,您所做的是正确的。你必须在while循环的上下文之外声明i1。另外,请记住,最终的 int一旦分配就无法修改。在你的情况下,这不会影响,因为它在while循环的上下文中。
int i1; //this should come here.
do {
i1 = r.nextInt(max - min + 1) + min; // no final anymore
}
while(i1 %10 == 0);