我正在学习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);
}
}
}
答案 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的小数,以提高可读性。