java中数组越界异常的获取
嘿,伙计们,我不知道如何修复下面的代码,因为我每次运行时都会出现区域越界异常。如果能帮助修复这个thx,我将不胜感激
int numberStudents = numberOfStudents();
System.out.println("");
int[] gradeOfStudent = gradeOfStudents(numberStudents);
方法如下
public static int[] gradeOfStudents(int numberStudents) {
Scanner input = new Scanner (System.in);
int[] grades = new int [numberStudents];
String[] name = new String[numberStudents];
for(int i = 0; i < numberStudents;) {
for(int j = 0; j < numberStudents; i++ ) {
System.out.print("Enter the name of the " + (i + 1) + " student: ");
name[i] = input.next();
System.out.print("Enter the " + (i + 1) + " student's grade: " );
grades[i] = input.nextInt();
}
}
return grades;
}
# 1 楼答案
在学生成绩(int)方法中有第二个循环:
正如您所见,循环变量是'j',但它会在每个循环后更新'i',因此i<;numberStudents签入第一个循环不再为每个“i”调用->;这可能是不允许的
你似乎也没有用“j”来表示任何东西,整个循环可能是多余的
# 2 楼答案
移除j for循环,并将i++(增量i)添加到第一个for循环中
}