为什么程序显示java.lang.ArrayIndexOutOfBoundsException:11? 该程序需要打印11个数字。 9个数字应该是随机的。 它打印11个数字,但有错误。
public class Main {
public static void main(String[] args) {
Random random = new Random();
int[] Cnum = new int[11];
Cnum[0]=0;
Cnum[1]=9;
System.out.print(Cnum[0]);
System.out.print(Cnum[1]);
for(int a = 2; 2 < 10; a++){
Cnum[a]=random.nextInt(9);
System.out.print(Cnum[a]);
}
}
}
输出应该是(x是随机的):
09xxxxxxxxx
但它的输出是:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 11
at CellphoneNumberGenerator.Main.main(Main.java:17)
09505423220
答案 0 :(得分:6)
for(int a=2;2<10;a++)
这基本上是一个while(True)
(无限)循环,因为2总是小于10.也许你的意思是:
for(int a= 2; a<10; a++)
答案 1 :(得分:4)
在你的for循环中,条件是错误的。
您有2 < 10
而不是a < 10