【问题标题】:Trouble using nextInt and nextLine()使用 nextInt 和 nextLine() 时遇到问题
【发布时间】:2014-11-23 05:36:10
【问题描述】:

这不是让我输入我的名字,但它确实可以正常工作。 我知道我可以更改语句的顺序,但有其他方法可以做到吗?

import java.util.Scanner;

public class ScannerErr2
{
  public static void main(String [] args)
  {
    Scanner keyboard= new Scanner(System.in);
    String name;
    int    age;

    System.out.print("Enter your age : ");
    age= keyboard.nextInt();
    System.out.print("Enter your name: ");
    name= keyboard.nextLine();

    System.out.println("Age : "+age);
    System.out.println("Name: "+name);
  }
}

【问题讨论】:

    标签: java int line next


    【解决方案1】:

    您的问题是下一个 int 不考虑输入您的姓名部分的换行符。因此名称返回为空白。

    您可以通过 2 种方式更改代码:

    System.out.print("Enter your age : ");
    age = keyboard.nextInt();
    keyboard.nextLine();
    System.out.print("Enter your name: ");
    name = keyboard.nextLine();
    

    System.out.print("Enter your age : ");
    age = Integer.parseInt(keyboard.nextLine().trim());
    System.out.print("Enter your name: ");
    name = keyboard.nextLine();
    

    我个人喜欢第二种方式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多