Я работаю над кодом, в котором у вас есть имя учащегося и его оценки, и он печатает его общие баллы и его средние баллы. Я хочу сделать его более функциональным, позволяя пользователю вводить там имя и оценки и получать всю эту информацию обратно. Я могу попытаться преобразовать это в среднее значение по классу, где оно позволяет вводить несколько отдельных имен, баллов и среднего значения, печатать каждое из них отдельно, а затем отображать среднее значение по классу. Это вторая мысль, так как мне нужно, чтобы пользователь сначала вводил оценки и имена .
Это то, что я имею до сих пор.
У меня есть отдельный класс, чтобы сделать некоторые вещи проще.
public class Student {
private String name;
private int numOfQuizzes;
private int totalScore;
public Student(String name){
this.name = name;
}
public String getName() {
return name;
}
public int getTotalScore() {
return totalScore;
}
public void addQuiz(int score) {
totalScore = totalScore + score;
numOfQuizzes++;
}
public double getAverageScore(){
return totalScore/(double)numOfQuizzes;
}
}
Тогда у меня есть основной метод:
public static void main(String[] args) {
Scanner nameInput = new Scanner(System.in);
System.out.print("What is your name? ");
String name = nameInput.next();
Student student = new Student(name);
student.addQuiz(96);
student.addQuiz(94);
student.addQuiz(93);
student.addQuiz(92);
System.out.println("Students Name: " + student.getName());
System.out.println("Total Quiz Scores: " + student.getTotalScore());
System.out.println("Average Quiz Score: " + student.getAverageScore());
}
Вот что он печатает в данный момент:
What is your name? Tom
Students Name: Tom
Total Quiz Scores: 375
Average Quiz Score: 93.75
UPDATE:
Это то, что я сделал до сих пор. я добавил цикл и пытался использовать свой класс ученика, но он не работает с массивом.
ArrayList<String> scores = new ArrayList<String>();
Scanner nameInput = new Scanner(System.in);
System.out.print("What is your name? ");
String name = nameInput.next();
Scanner scoreInput = new Scanner(System.in);
while (true) {
System.out.print("Please enter your scores (q to quit): ");
String q = scoreInput.nextLine();
scores.add(q);
if (q.equals("q")) {
scores.remove("q");
Student student = new Student(name);
System.out.println("Students Name: " + student.getName());
System.out.println("Total Quiz Scores: " + student.getTotalScore());
System.out.println("Average Quiz Score: " + student.getAverageScore());
break;
}
}
}
}