Scanner.nextLine输入跳过

时间:2014-02-15 09:54:58

标签: java java.util.scanner

我需要从用户输入两个字符串作为输入。我正在使用Scanner.nextLine()

try {
    firstChoice = in.nextInt();
} catch(Exception e) {
    System.out.println("Invalid option");
}

if(firstChoice == 1) {
    if(accNumber < numOfAccounts)
    {
        System.out.print("Account Title: ");
        String t = in.nextLine();
        System.out.print("Account Holder's name: ");
        String name = in.nextLine();
        .....

但在输出窗口中,它显示:

Account Title: Account Holder's name:

它不是在等待第一次输入。为什么?它与Scanner.next()一起正常工作,但我想阅读完整的行,因为名称可以包含多个部分。

1 个答案:

答案 0 :(得分:1)

nextInt只读取 int值并跳过\n(当您按下输入键后)。您应该在nextInt之后添加另一个nextLine以使用\n

将您的代码更新为:

try {
   firstChoice = in.nextInt();
   nextLine();
}

你会没事的。