Java 字符串扫描程序输入不等待信息,直接移动到下一个语句。如何等待信息?
2022-09-01 05:48:39
我正在编写一个简单的程序,提示用户输入一些学生,然后要求用户输入每个学生的姓名和分数,以确定哪个学生的分数最高。
我已经编写了程序代码并进行了编译。第一行询问一些学生并等待输入。第二行应该询问学生姓名并等待输入,然后第三行应该打印并要求该学生的分数,并等待输入,但是在第二行打印之后,立即调用第三行(第二行不等待输入),然后当我尝试在第三行之后输入请求的信息时,我得到一个运行时错误。
如何调整代码,以便在打印第三行之前打印第二行并等待输入字符串?
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);
}
}