java.lang.ArrayIndexOutOfBoundsException:0

public static void main(String[] args) {
int n = 0;
Scanner r = new Scanner(System.in);
int a[]=new int[n];

System.out.println("请输入学生人数");
n = r.nextInt();

System.out.println("请输入学生成绩");
for(int i=0;i<n;i++)
{
++++ a[i]=r.nextInt();

}

}
++++处提示,java.lang.ArrayIndexOutOfBoundsException:0
最新回答
浅谈失去的回忆

2024-10-15 11:40:54

把数组a的实例化放在n = r.nextInt(); 之后

因为n的初始值是0,你在没有输入n之前就对数组a进行实例化,那么int a[] = new int[0];此时数组没有任何元素,所以在++++处会报错 数组越界。
长发与酒

2024-10-15 09:49:03

把这句话
int a[]=new int[n];
移到
n = r.nextInt();
的后面。