我想在android中生成随机数,但排除一些以零结尾的随机数
我想在这个(651到999)范围内生成随机数,但不希望660670680等以零结尾或中间(707805),所以在这种情况下请帮助我我想在android中生成随机数,但排除一些以零结尾的随机数,android,Android,我想在这个(651到999)范围内生成随机数,但不希望660670680等以零结尾或中间(707805),所以在这种情况下请帮助我 在此代码错误中:-i1在while循环中不是局部变量您可以执行以下操作。你所要做的就是,循环直到你找到一个不能被10整除的数字 int min = 651; int max = 999; Random r = new Random(); do {
在此代码错误中:-i1在while循环中不是局部变量您可以执行以下操作。你所要做的就是,循环直到你找到一个不能被10整除的数字
int min = 651;
int max = 999;
Random r = new Random();
do {
final int i1 = r.nextInt(max - min + 1) + min;
}
while(i1 %10 == 0);
您的代码有什么问题
除了在上下文之外访问局部变量,您所做的是正确的。您必须在while循环的上下文之外声明i1。另外,请记住,一次分配后,不能修改最终的int。在您的情况下,这不会影响,因为它位于while循环的上下文中
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
也许您应该确定这是家庭作业,因为这显然是一个基本的编程问题。
int i1; //this should come here.
do {
i1 = r.nextInt(max - min + 1) + min; // no final anymore
}
while(i1 %10 == 0);