【发布时间】:2011-12-14 05:16:46
【问题描述】:
我正在编写一个简单的程序,提示用户输入学生人数,然后要求用户输入每个学生的姓名和分数,以确定哪个学生的分数最高。
我已经编写了程序代码并且可以编译。第一行询问一些学生并等待输入。第二行应该询问学生姓名并等待输入,然后第三行应该打印 ans ask for that student's score, and waiting for input 但在第二行打印后,第三行立即被调用(第二行确实不等待输入),然后在第三行之后尝试输入请求的信息时出现运行时错误。
如何调整代码,以便在打印第三行之前打印第二行并等待输入字符串?
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);
}
}
【问题讨论】:
标签: java string java.util.scanner