【发布时间】:2020-02-20 05:40:46
【问题描述】:
在我的大学作业中,我必须提示一个分数并让用户输入 6 次,然后在每个分数旁边显示一个字母分数,然后显示平均值。我终于能够正确显示每个标记,但最后一个条目的字母等级显示为每个条目。我需要在我的代码中进行哪些更改才能使其正常工作?
我有一个返回字母等级的方法,但该方法仅部分有效;喜欢它显示适当的字母等级,但仅适用于最后一个条目。
package com.company;
import java.util.Scanner; //Summons the Scanner class
public class Main { //Main class
//Instance variables to count and calculate the grades
public static double total;
public static int grade;
public static int entries = 0;
public static void main(String[] args) { //Main method
//Creates a scanner for user input
Scanner keyboard = new Scanner(System.in);
int[]grades = new int[7];
while (entries < 6) { //Make the user enter 6 grades
do {
System.out.printf("Enter grade %d: ", entries); //Prompt for a grade
grades[entries] = grade;
entries++;
grade = keyboard.nextInt(); //Get the user input
total = total + grade; //Add grade to total
} while (!wrongValue(grade)); //Call a method to prompt for a re-entry upon user error
}
grades[6]=grade;
double average = total / 6; //Get the total
System.out.printf("1st grade is %d which is %s%n%%", grades[1], letterGrade(grade));
System.out.printf("2nd grade is %d which is %s%n%%", grades[2], letterGrade(grade));
System.out.printf("3rd grade is %d which is %s%n%%", grades[3], letterGrade(grade));
System.out.printf("4th grade is %d which is %s%n%%", grades[4], letterGrade(grade));
System.out.printf("5th grade is %d which is %s%n%%", grades[5], letterGrade(grade));
System.out.printf("6th grade is %d which is %s%n%%", grades[6], letterGrade(grade));
System.out.printf("total average = %.1f%%", average);
}
public static String letterGrade (int grade)
{
if (grade >= 90 && grade <= 100)
return "an A+";
else if (grade >= 80 && grade <= 90)
return "an A";
else if (grade >= 75 && grade <= 80)
return "a B+";
else if (grade >= 70 && grade <= 75)
return "a B";
else if (grade >= 65 && grade <= 70)
return "a C+";
else if (grade >= 60 && grade <= 65)
return "a C";
else if (grade >= 55 && grade <= 60)
return "a D+";
else if (grade >= 50 && grade <= 55)
return "a D";
else
return "an F";
}
}
【问题讨论】:
-
能否请您也添加 wrongValue(grade) 的代码?