2016-03-31 7 views
-1

私は変数 "gradesInSection"、ダブル、私の配列にもダブルを割り当てようとしています。それは私がこれを行うことを許さず、ポイント例外をスローします。私のプログラムで、配列の要素の1つに値を代入できないのはなぜですか?

無効findGrades(){// 開始findGrades

elementForGradeではないこと
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

どの行がexceptoinをスローしますか? – TinyTheBrontosaurus

+0

xeceptionは何ですか? –

+0

gradeArray [elementForGrade] = gradesInSection; – BKK03

答えて

0

チェック> = gradeArray.lengthより。私の推測では、それは範囲外の例外です。

それがヌルポインタだ場合、コードは、コードで

double[] gradeArray = new double[20]; 

又は

gradeArray = new double[20]; 

どこかに(20アレイの適切なサイズである)を有する必要があります。この行が存在しない場合、メモリは割り当てられず、gradeArrayをnullにします

+0

ありがとう – BKK03

関連する問題