【问题标题】:How can I handle new line character using java-util-scanner in this situation?在这种情况下,如何使用 java-util-scanner 处理换行符?
【发布时间】:2012-12-18 14:54:47
【问题描述】:

我有一个简单的家庭作业,我正在制作一个简单的 UI(不是 GUI),并且我正在使用扫描仪进行输入。

我想读取 3 个字符串(姓名、地址、社会保险号)

如果用户没有插入任何东西,只是按回车键,我的代码就会中断。我得到了更多的字符串,而不是我需要的 3 个字符串,但它们错过了匹配。

Scanner input = new Scanner(System.in);
if (input.hasNext()) {
    name = input.nextLine(); 
} 
Scanner input = new Scanner(System.in);
if (input.hasNext()) {
    address = input.nextLine(); 
} 
Scanner input = new Scanner(System.in);
if (input.hasNext()) {
    ssnumb = input.nextLine(); 
} 

所以如果用户按下回车键,创建一个换行符,输入就会溢出。我怎样才能避免这种情况或消除空行?

示例:

输入

尼克

火星

一些数字

我会:

Name:

Address:尼克

Social Security Number:火星

【问题讨论】:

    标签: java input java.util.scanner


    【解决方案1】:

    类似这样的:

    Scanner input = new Scanner(System.in);
    while(!input.next().isEmpty()) { // only when you enter literal string 
    //do your scanner stuff here
    }
    

    【讨论】:

      【解决方案2】:

      试试

      Scanner input = new Scanner(System.in);
      String name = "";
      while(name.trim().isEmpty()) {
          name = input.next();
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-05-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多