私はウェブサイトからJavaプログラミングの練習をしています。配列を使用してこの出力を表示する必要があります。
Enter the number of students: 3
Enter the grade for student 1: 55
Enter the grade for student 2: 108
Invalid grade, try again...
Enter the grade for student 2: 56
Enter the grade for student 3: 57
The average is 56.0
これが私のこれまでのソースコードです。結果を表示していますが、正しく機能していません。1人目の生徒は生徒数と成績が必要です。しかし、その後停止します。任意の数字を押してEnterキーを押すと、次の学年などを要求します。そしてこのようにして、最後に平均を出力します。許可されていない入力を入力すると、それをキャッチします。このコードの何が問題になっていますか。
package array;
import java.util.Scanner;
public class GradesAverage {
public static void main(String[] args) {
int numStudents, sum=0;
int[] grades;
Scanner in = new Scanner(System.in);
System.out.print("Enter number of students : ");
numStudents = in.nextInt();
grades = new int[numStudents];
//System.out.println(grades.length);
for (int i = 0; i < numStudents; i++) {
System.out.print("Enter grade of student "+i+" :");
grades[i] = Integer.parseInt(in.next());
if(grades[i]>100 || grades[i]<0)
{
System.out.println("It is not a valid number!");
i--;
continue;
}
//grades[i] = Integer.parseInt(in.next());
sum+=grades[i];
}
System.out.print("Average grades are: "+sum/numStudents);
in.close();
}
}