Как я могу подсчитать, сколько addQuiz я использовал, и использовать это, чтобы получить средний балл?

#java

#java

Вопрос:

Я работаю над заданием по созданию программы для создания класса Student. получите имя и общий балл теста, добавьте балл теста и получите средний балл теста.

 public class Student
    {
        private final String name;
        private int totalQuizScore;

        public Student(String studentName, int initialScore) //Constructor Students name and total score
        {
            name = studentName;
            totalQuizScore = initialScore;
        }

        //returns the name of new Student
        public String getName()
        {
            return name;
        }

        //adds a quiz score to the total quiz scores
        public int addQuiz(int score)
        {
            totalQuizScore = totalQuizScore   score;
            return totalQuizScore;
        }

        //returns the total quiz score
        public int getTotalScore()
        {
            return totalQuizScore;
        } 


    }
  

Вот мой основной

 public class StudentGrade {

    public static void main(String[] args)
    {
        Student tim = new Student("Johnson, Tim", 0); //new Student with name Tim Johnson, Initial Score of 0;

        tim.getName(); //returns name

        tim.addQuiz(9); //add quiz score of 9
        tim.addQuiz(10); //add quiz score of 10
        tim.addQuiz(10); //add quiz score of 10

        tim.getTotalScore();//returns total of all the scores


        String name = tim.getName(); //save Student name to variable name
        int totalScore = tim.getTotalScore(); //save Student total quiz scores in variable totalScore


        System.out.println(name   " "   totalScore);

    }
}
  

Мне нужно вычислить средний балл для добавленных тестов. поэтому для этого мне нужно иметь возможность подсчитать, сколько добавлено тестов…здесь у меня возникли некоторые проблемы.

Ответ №1:

Создайте переменную count , которая увеличивается при каждом вызове addQuiz() ;

 private int count; //initialize to 0 in constructor
public int addQuiz(int score)
{
    totalQuizScore = totalQuizScore   score;
      count;
    return totalQuizScore;
}
  

Теперь вычисление среднего значения — это тривиальный вопрос деления totalQuizScore на count .

Ответ №2:

Самый простой способ, который я могу придумать, это добавить (в Student ) a quizCount и getQuizAverage() метод, подобный этому,

 private final String name;
private int totalQuizScore;
private int quizCount = 0;

public int addQuiz(int score) {
  totalQuizScore  = score;
  quizCount  ;
  return totalQuizScore;
}

public float getQuizAverage() {
  return ((float)totalQuizScore/quizCount);
}