Вы сделали много ошибок.
В основном методе вы должны сохранить вычисленное среднее значение в переменную и передать его методу printLetter
следующим образом
double avgScore = calculateAvg();
printLetter(avgScore);
Тип возврата метода calculateAvg
должен быть double
поэтому вы должны объявить это следующим образом
public static double calculateAvg()
Кроме того, для l oop внутри calculateAvg
неправильно и не нужно, поэтому просто удалите его. И присвоение scanner.nextInt()
значения avgScore
отбрасывает правильно рассчитанное значение. поэтому метод calculateAvg
должен быть таким:
Метод printLetter
является правильным, но содержит ненужные строки, такие как
Scanner console = new Scanner(System.in); //Could be removed
В результате получается код
import java.util.*;
public class LetterGrade
{
public static void main(String args[])
{
double avgScore = calculateAvg();
printLetter(avgScore);
}
public static double calculateAvg()
{
Scanner console = new Scanner(System.in);
double avgScore;
System.out.println("Enter your full name.");
String name = console.nextLine();
System.out.println("Enter test score 1");
double score1 = console.nextDouble();
System.out.println("Enter test score 2");
double score2 = console.nextDouble();
System.out.println("Enter test score 3");
double score3 = console.nextDouble();
avgScore = (score1 + score2 + score3) / 3;
System.out.printf( "%s, your average test score is: %.1f\n", name, avgScore);
return avgScore;
}
public static void printLetter(double avgScore)
{
char grade;
if (avgScore >= 90)
{
grade = 'A';
}
else if (avgScore >= 80)
{
grade = 'B';
}
else if (avgScore >= 70)
{
grade = 'C';
}
else if (avgScore >= 60)
{
grade = 'D';
}
else
{
grade = 'F';
}
System.out.println("With that average, your grade is: " + grade);
}
}