Java中Math.random()的取值问题,求助
public class Test {
public static void main(String[] args) {
System.out.println(Math.random());
System.out.println((int) ((((Math.random()) * 11)) - 1));
}
}
运行结果为:
0.6056141990830389
4
为什么不是
0.6056141990830389
5呢?谢谢解答
------解决方案--------------------
猜测下 可能是double精度问题。。java中double的数貌似是约等于的 不是精确的
还有概率貌似太小了点,0到1之间那么多小数。。。可想而知
纯属猜测 等大神
------解决方案--------------------
Java code
public static void main(String[] args) {
while(true){
double randNum=Math.random();
System.out.println(randNum);
if(randNum==0)
break;
}
}