首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Java String Scanner输入不等待信息,直接转到下一条语句。如何等待信息?

Java String Scanner输入不等待信息,直接转到下一条语句。如何等待信息?
EN

Stack Overflow用户
提问于 2011-10-24 22:51:41
回答 2查看 89.3K关注 0票数 32

我正在编写一个简单的程序,提示用户输入学生的数量,然后要求用户输入每个学生的姓名和分数,以便确定哪个学生的分数最高。

我已经编写了程序代码,它可以编译。第一行要求输入一些学生,然后等待输入。第二行应该要求学生姓名并等待输入,然后第三行应该打印并要求输入该学生的分数,并等待输入,但在第二行打印后,第三行立即被调用(第二行不等待输入),然后在尝试在第三行之后输入请求的信息时出现运行时错误。

如何调整代码,使第二行打印,并在打印第三行之前等待输入字符串?

代码语言:javascript
复制
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);
    }
}
EN

回答 2

Stack Overflow用户

发布于 2011-10-24 22:56:08

代码语言:javascript
复制
    System.out.print("Enter the number of students: ");
    int numOfStudents = input.nextInt();
    // Eat the new line
    input.nextLine();
    System.out.print("Enter a student's name: ");
    String student1 = input.nextLine();
票数 17
EN

Stack Overflow用户

发布于 2013-08-01 16:07:07

哇,这看起来像是糟糕的设计--如果你请求一个整数并做一个nextInteger(),扫描器会给你一个整数,但现在它在缓冲区中保留了一个新的行字符,因为用户必须按enter来提交整数,所以如果你以后想提示用户输入一个字符串,它不会等待输入,只会返回一个新的行字符。你不能清除扫描仪来避免这类问题...

我遗漏了什么?

亚当

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7877529

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档