Как вызвать один и тот же метод несколько раз, чтобы что-то добавить

#java

#java

Вопрос:

Итак, я создаю калькулятор среднего балла, он принимает 4 класса (или больше, если я хочу) и вычисляет буквенную оценку и средний балл. вес. Как бы я использовал один и тот же метод 4 раза и каждый раз добавлял разные введенные переменные. Например, первый ввод первого вызова (для оценки) равен 80. если я вызову его снова и введу 90, я хочу, чтобы он сохранил начальный 80 и добавил 90 и так далее, чтобы я мог вычислить средний балл.

Вот мой код

 import java.util.*;

public class GpaCalculator{
    public static void main(String[] args) {
    {
    System.out.println("Please enter your name>>>");
    Scanner stringinputs = new Scanner(System.in);
    String name = stringinputs.nextLine();
    GreatGrader();
    System.out.println();
    System.out.println(name);
    }

}

public static void GreatGrader(){

Scanner stringinput = new Scanner(System.in);
System.out.println("Please enter your course>>>");
String Course1 = stringinput.nextLine();
System.out.println("What is the weight of this class? Normal, Honors, or AP?>>>");
String weight = stringinput.nextLine();
System.out.println("What is your grade in the class?>>>");
String grade = stringinput.nextLine();

    double gpa = 0;
    if (weight.equalsIgnoreCase("honors"))
        gpa = gpa   1;
    else if (weight.equalsIgnoreCase("Ap"))
        gpa = gpa   1.5;
    else if (weight.equalsIgnoreCase("normal"));

        String letter;
        Scanner in = new Scanner(System.in);
        int grades = in.nextInt();

        if (grades >= 96)
        {   gpa = 4.5; 
            letter = "A";}
        else if (grades >= 92)
        {   gpa = 4.0;
            letter = "A";}
        else if (grades >=88 )
        {   gpa = 3.5;
        letter = "B"; }
        else if (grades >= 84 )
        {   gpa = 3.0;
            letter = "B";}
        else if (grades >=76 )
        {   gpa = 2.5;
            letter = "C";}
        else if (grades >= 72)
            {gpa = 1.5;
            letter = "C";}
        else if (grades>=68)
        {       gpa = 1.0;
            letter = "D";}
        else if (grades <=67)
        {   gpa = 0;
            letter = "F";
        }
        }
}
 

Комментарии:

1. Почему бы не сохранить значения в структуре данных, такой как массив, и передать его в качестве параметра в метод, чтобы вызвать метод только один раз?

2. как бы я это сделал?

3. Если я не ошибся, вы хотите подвести итог, чтобы рассчитать средний балл? Редактировать: игнорируйте мой предыдущий комментарий.

4. Да, как мне каждый раз сохранять введенную оценку, чтобы я мог вычислить средний балл после 4 или около того запусков

5. Вы можете попробовать обернуть его в do while цикл, и условие таково, что он всегда будет повторять процесс GreatGrader , пока не будет нажата определенная клавиша, такая как esc или enter , чтобы выйти из цикла. Чтобы сохранить значения, вы можете сохранить их в массиве примитивного типа double .