System.out.println((int)Math.random()*100);
想要输出【0,99】的随机整数,打印(int)Math.random()*100;
可是得到的结果却是0;
明明知道Math.random()等于[0,1)的double啊,为啥结果是0?
原来,(int)转换的时候,直接把0.xxxxxxx转换为整型,也就是0了,然后用0*100结果还会是0;
怎么解决呢?只需要加一个括号,将(int)作用的范围扩大便可.
System.out.println((int)(Math.random()*100));
采用(int)(Math.random()*100) ,这样结果就会是【0,100)的double取整数转换为INT,满足要求了就。