我正在编写一个简单的程序,提示用户输入学生人数,然后要求用户按顺序输入每个学生的姓名和分数,以确定哪个学生得了最高分。
我已经编写了程序代码并且成功编译。第一行要求输入学生数量并等待输入。 第二行应该要求输入学生姓名并等待输入,然后第三行应该打印并要求输入该学生的分数,并等待输入。但是在第二行打印后,第三行立即被调用(第二行不等待输入),然后当尝试输入请求的信息时出现运行时错误。
我该如何修改代码以便第二行先打印并等待输入字符串,再打印第三行?
我已经编写了程序代码并且成功编译。第一行要求输入学生数量并等待输入。 第二行应该要求输入学生姓名并等待输入,然后第三行应该打印并要求输入该学生的分数,并等待输入。但是在第二行打印后,第三行立即被调用(第二行不等待输入),然后当尝试输入请求的信息时出现运行时错误。
我该如何修改代码以便第二行先打印并等待输入字符串,再打印第三行?
import java.util.Scanner;
public class HighestScore {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter the number of students: ");
int numOfStudents = input.nextInt();
System.out.print("Enter a student's name: ");
String student1 = input.nextLine();
System.out.print("Enter that student's score: ");
int score1 = input.nextInt();
for (int i = 0; i <= numOfStudents - 1; i++) {
System.out.println("Enter a student's name: ");
String student = input.nextLine();
System.out.println("Enter that student's score: ");
int score = input.nextInt();
if (score > score1) {
student1 = student;
score1 = score;
}
}
System.out.println("Top student " +
student1 + "'s score is " + score1);
}
}