我想在android中生成随机数,但排除一些以零结尾

时间:2016-05-01 01:20:08

标签: android

pg_dump --data database_name > dump.sql

我想在这个(651到999)范围内生成随机数,但不想要660,670,680这样的结尾为零或中间(707,805)所以在这种情况下帮助我 在此代码错误中: - while循环中的i1不是局部变量

1 个答案:

答案 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);