循环中每个用户输入的新变量

Sco*_*peY 0 java arrays user-input input arraylist

我目前正在制作一个程序,用户输入一个班级中学生的数量,然后(在一个循环中),用户输入学生编号和他们的平均成绩,然后,在计算后,打印出班级的最高分,最低分和平均分.

这是我到目前为止所做的:

import java.util.Scanner;
public class ClassMarks {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("Enter number of students in class: ");
        int students = input.nextInt();
        int x = students;
        while (x > 0) {
            System.out.println("Enter student number: ");
            double studentNumber = input.nextDouble();
            System.out.println("Enter student grade: ");
            double studentGrade = input.nextDouble();
            x = x - 1;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种让程序为我创建一个新变量的方法,该变量将每个新用户输入学生成绩存储在while循环中.ex)studentGrade1,studentGrade2,studentGrade3 ...

rad*_*doh 5

while循环之前,创建变量最高/最低等级

double highestGrade = Double.MIN_VALUE, lowestGrade = Double.MAX_VALUE;
double gradeSum = 0; 
Run Code Online (Sandbox Code Playgroud)

然后在循环访问值时,适当调整变量,例如

if (studentGrade > highestGrade)
    highestGrade = studentGrade;
if (studentGrade < lowestGrade)
    lowestGrade = studentGrade;
gradeSum += studentGrade;
Run Code Online (Sandbox Code Playgroud)

然后在循环结束后,得到这样的平均值

double averageGrade = gradeSum / students;
Run Code Online (Sandbox Code Playgroud)