while(true){
int a = (int)((Math.random()+1)*30);
System.out.println(a);
}
代码应该没有问题吧
如果取得到0,那肯定有30,但是结果就是没有
while(true){
int a = (int)Math.ceil((Math.random()+1)*30);
System.out.println(a);
}
这个代码我取不到30
意味着random取不到0.0?
(int)((Math.random()+1)*30);
相当于包含0到不包含1结果加上1再乘30,最后再转为int,理论上就是包含30至59,直接当等于30的时候停止循环就能看出来了
public static void main(String[] args) throws InterruptedException {
while(true){
int a = (int)((Math.random()+1)*30);
System.out.println(a);
if(a==30) break;
}
}
生成30-59