随机数发生器中的java索引越界异常错误
我刚刚开始编程,并试图创建一个随机数发生器,其中将生成一个随机数,该随机数将与一个名称链接,然后该名称将显示出来,我无法在代码中找出问题所在,这是弹出的错误
"Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 9
at random.Randomiser.main(Randomiser.java:21)"
package random;
public class Randomiser {
public static void main(String[] args) {
int number = ((int) (Math.random()*10))+1;
int[] intArray = new int[9];
intArray[0] = 1;
intArray[1] = 2;
intArray[2] = 3;
intArray[3] = 4;
intArray[4] = 5;
intArray[5] = 6;
intArray[6] = 7;
intArray[7] = 8;
intArray[8] = 9;
intArray[9] = 10;
if (number == 1)
System.out.println("Isaac");
if (number == 2)
System.out.println("Madgeline");
if (number == 3)
System.out.println("Cain");
if (number == 4)
System.out.println("Judas");
if (number == 5)
System.out.println("Blue Baby");
if (number == 6)
System.out.println("Eve");
if (number == 7)
System.out.println("Samson");
if (number == 8)
System.out.println("Azazel");
if (number == 9)
System.out.println("Lazarus");
if (number == 10)
System.out.println("Eden");
}
}
# 1 楼答案
更改数组大小。现在您的大小是
9
,最大索引是8
:# 2 楼答案
必须按如下方式创建阵列:
创建阵列时,请给出大小:
当你访问它时,你从位置0开始,所以当你访问它时:
# 3 楼答案
这里有从0到8的索引。你没有第九个索引。
int[] intArray = new int[9];
将其更改为int[] intArray = new int[10]
或删除intArray[9] = 10;
你可以这样声明你的数组
int[] intArray = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};