感谢您的帮助。
这是作业:
计算机技术讲师有一个 10 名学生的小班。教师通过管理 2 次期中考试和期末考试来评估学生在课堂上的表现。编写一个程序,提示教师输入期中 1 的 10 个等级,并将这些数字存储在一个数组中。接下来提示 10 年级的期中 2 并将这些数字存储在不同的数组中。接下来提示期末考试的 10 个等级,并将它们存储在不同的数组中。接下来将 midterm1 到 midterm2 添加到 Final 并将总数存储在不同的数组中。 接下来,扫描具有总计的数组并确定最低成绩和最高成绩。将最低等级和最高等级告知教师。
这两个粗体短语是我遇到问题的地方。除了最低等级和最高等级外,一切正常。这是它告诉我的,在我只输入了 65 到 100 之间的数字之后:
最高考试成绩为:276 最低考试成绩为:249
这是我的代码:
import java.util.Scanner;
public class Arrays {
public static void main(String[] args) {
// Create a scanner
Scanner input = new Scanner(System.in);
// Prompt for the 1st mid term
int [] midTerm1 = new int[10];
int [] midTerm2 = new int[10];
int [] finalExam = new int[10];
int [] grades = new int[10];
for (int i = 0; i < midTerm1.length; i++){
System.out.println("Enter the 10 Mid Term 1 grades: ");
midTerm1[i] = input.nextInt();
}
// Prompt for the 2nd mid term
for (int i = 0; i < midTerm2.length; i++){
System.out.println("Enter the 10 Mid Term 2 grades: ");
midTerm2[i] = input.nextInt();
}
// Prompt for Final grades
for (int i = 0; i < finalExam.length; i++){
System.out.println("Please enter a Final Exam grade: ");
finalExam[i] = input.nextInt();
}
for (int i = 0; i < grades.length; i++){
grades[i] = (midTerm1[i] + midTerm2[i] + finalExam[i]);
}
int minGrade = grades[0];
int maxGrade = grades[0];
for (int i = 0; i < grades.length; i++)
{
if (minGrade > grades[i])
minGrade = grades[i];
if (maxGrade < grades[i])
maxGrade = grades[i];
}
System.out.print("The highest test score is: " + maxGrade);
System.out.print("The lowest test score is: " + minGrade);
}
}