学习Random时,我用switch语句编写了一段小程序,但是其结果与我所预计的不同,第9个数字按我的估计应为三位数,但实际上却不不是。想找大神分析一下为什么。程序代码是:
import java.util.Random; //引用Random包
import java.util.ArrayList; //引用ArrayList包
class Text2_ArrayList {
public static void main(String[] args) {
ArrayList<Integer> arr = new ArrayList<Integer>(); //建立一个整型ArrayList,名为arr
Random n = new Random(); //建立一个随机数n
for (int i = 0;i < 10;i++ ) { //10次循环,i从0开始
switch (i % 3) { //switch判断,判断条件为i对3取余
case 0: //取余为0时
arr.add(n.nextInt());
case 1: //取余为1时
arr.add(n.nextInt(100));
case 2: //取余为2时
arr.add(n.nextInt(1000 - 100) + 100);
default: //其它情况
arr.add(n.nextInt());
}
System.out.println(arr.get(i) + "----" + (i % 3)); //输出随机数以及此时i取余结果
}
}
}
得到的结果为:
-1997018623----0
65----1
226----2
-395861350----0
2----1
517----2
-1834395168----0
122----1
1224993967----2
788441210----0
|
|