使用while循环生成随机数,直到达到某个数字

时间:2014-11-01 22:20:39

标签: java while-loop

我正在学习while循环。在我的Java类中,我试图修改程序以使用基本的while循环来生成随机数,直到达到某个数字。在这种特殊情况下,我希望它打印,直到它低于.0001。我在尝试这样做时感到困惑,并没有得到任何输出。我正在寻找任何人可能需要帮助我的提示或提示,或者帮助我进一步理解。这是我到目前为止所拥有的代码:

import java.util.Random;
public class RandomNumbers {

    public static void main(String[] args) {
        Random rand = new Random();

        double val = 1;

        while(val < .0001){
            val = rand.nextDouble();
            System.out.println(val);
        }
    }
}

2 个答案:

答案 0 :(得分:3)

while条件说:

"While x condition is true, do this"

在这种情况下,你有val = 1,然后是0.0001。所以,从来没有执行过。 因此设置while(val>0.001),意味着:

"While my val is grater then 0.001, print it out. If is less then 0.001, return"

在代码中:

import java.util.Random;
public class RandomNumbers {

public static void main(String[] args) {
    Random rand = new Random();

    double val=1;

    while(val>.0001){
        val=rand.nextDouble();
        System.out.println(val);

    }
}

}

答案 1 :(得分:1)

简单的逻辑错误。根据您当前的代码,while循环将永远不会运行,因为val<.0001始终为false(1 > .0001)。您需要将该行修改为:

while(val > 0.0001){

通常最好在.前面写一个带小数0的小数,以提高可读性。