我正在尝试为我的数组分配一个变量“gradesInSection”,一个double,一个double。它不允许我这样做并抛出一个点异常。
void findGrades() {//开始使用findGrades
Scanner grades = new Scanner(System.in);
System.out.println("\nHow many grades do you have?");
numOfGrades = grades.nextInt();
while (numOfGrades > 0)
{
numOfGrades = numOfGrades - 1;
elementForGrade = elementForGrade + 1;
System.out.println("\nGrade " + elementForGrade + ":");
Scanner whatGrade = new Scanner(System.in);
gradesInSection = whatGrade.nextDouble();
gradeArray[elementForGrade] = gradesInSection;
}
for (int i = 0; gradeArray.length > i; i++)
{
finalGradeOfSection = gradeArray[i] + finalGradeOfSection;
}
finalGradeOfSection = finalGradeOfSection/numOfGrades;
System.out.println(finalGradeOfSection);
}//End find Grades
答案 0 :(得分:0)
检查elementForGrade不是> =而不是gradeArray.length。我的猜测是,这是一个超出范围的例外。
如果它是空指针,则代码需要
^
或
$
代码中的某处(其中20是数组的适当大小)。如果此行不存在,则永远不会分配内存,将gradeArray保留为null