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; } }