Мне нужно разрешить пользователю вводить любое количество студентов. Они нажимают «С», чтобы закончить ввод данных. Я подумывал сделать урок для ученика (мой код в настоящее время не отражает этого) и 4 предмета на ученика. Каждый набор из 4 объектов - это числовые оценки, которые будут суммироваться и усредняться.
Я уже пытался использовать цикл while, создавая arrayLists, и я изучил карты. Каждый набор из 4 оценок соответствует учащемуся и должен суммироваться и усредняться отдельно.
package arrayList;
import java.util.Scanner;
import java.util.ArrayList;
public class TestGrades {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
ArrayList<String> studentName = new ArrayList<String>();
ArrayList<Double> studentGrade = new ArrayList<Double>();
boolean loop = true;
while (loop) {
System.out.println(" Please Enter Student Name");
String student = scanner.nextLine();
if(student.equals("C"))
{
break;
}
else
{
studentName.add(student);
}
System.out.println("Please enter Student Grade");
for (int j = 0; j < 4; j++) {
Double grade = Double.parseDouble(scanner.nextLine());
studentGrade.add(grade);
}
System.out.println(studentName);
System.out.print(studentGrade);
}
}
}
Проблема здесь действительно в том, что у меня есть все введенные числа в одном arrayList, и я не знаю, могу ли я автоматическисоздайте новый arrayList каждый раз, когда они вводят нового студента. Каждый массив arrayList в идеале должен содержать только 4 двойных значения.