public class GradePercent {
static final int THRESHOLD = 4;
public static void main(String[] args)
{
//Create Scanner
Scanner input = new Scanner(System.in);
//
System.out.print("Enter the number of courses: ");
int n = input.nextInt();
System.out.print("Enter " + n + " scores: ");
int[][] students = new int[3][n + THRESHOLD];
for (int i = 0; i < n; i++)
{
students[0][i] = input.nextInt();
}
int bestScore = getBestScore(students);
setGradeRange(students, bestScore);
for (int i = 0; i < students[0].length - THRESHOLD; i++) {
char grade = getStudentGrade(students, i);
System.out.println("Grade " + i + " score is " + students[0][i] + " and grade is " + grade);
}
countLetters(students);
System.out.println("Total grades: " + n );
}
public static char getStudentGrade(int[][] students, int index)
{
int grade = students[0][index];
for (int i = 0; i < 4; i++)
{
if (grade >= students[1][i])
{
return (char) students[2][i];
}
}
return 'F';
}
public static void setGradeRange(int[][] students, int bestScore)
{
for (int i = 0; i < 4; i++)
{
students[1][i] = bestScore - (10 * (i + 1));
students[2][i] = ('A' + i);
}
}
public static int getBestScore(int[][] students)
{
int bestScore = 100;
return bestScore;
}
public static void countLetters(int[][] students)
{
int As = 0, Bs = 0, Cs = 0, Ds = 0, Fs = 0;
for (int i = 0; i < students [0][i]; i++){
if ( 90 < students [0][i] || students [0][i] < 100 )
As++;
else if (80 < students [0][i] || students [0][i] < 89 )
Bs++;
else if (70 < students[0][i] || students [0][i] < 79)
Cs++;
else if (60 < students [0][i]|| students [0][i] < 69 )
Ds++;
else if (students [0][i] < 60 )
Fs++;
}
System.out.println("There are " + As + " A" );
System.out.println("There are " + Bs + " B" );
System.out.println("There are " + Cs + " C" );
System.out.println("There are " + Ds + " D" );
System.out.println("There are " + Fs + " F" );
}
}
我想知道每个字母等级的数量是多少,但是每次我运行程序时它都会说我输入了所有'A'字母等级。该程序应该能够输入每门课程的等级#,并显示每个字母等级的输入数量,最后显示等级的百分比。