注册 登录
编程论坛 JAVA论坛

随机生成0或者1

不落夕阳 发布于 2017-07-20 20:33, 2725 次点击
public static void main(String args[]){
        for(int i=0;i<100;i++){
            int m =(int)Math.random();
            System.out.println(m);
        }
        
    }
为什么得到的永远是0,难道0点几的Double类型的数转为int型的都为0吗?求解谢谢各位老师傅!
7 回复
#2
静水且流深2017-07-20 20:36
左闭又开的区间,转型之后自然是只能取0.
#3
我爱编程3692017-07-21 19:12
原因楼上已给,解决方案如下:
public static void main(String[] args) {
        int num;
        for(int i=0;i<100;i++){
            num=(int)(Math.random()*2);
            System.out.println(num);
        }   
    }
#4
ALittleBoy2017-07-21 20:09
回复 4楼 我爱编程369
赞同!
#5
LIlei48362017-08-12 15:32
#6
DSMhot2017-08-26 16:54
#7
小青3452017-08-29 11:15
#8
JeeCho2017-09-01 12:40
回复 2楼 静水且流深
四舍五入不可以吗。
1