首页 > 解决方案 > 扫描程序使用 .hasNext() 调用字符串输入豁免

问题描述

我正在尝试制作一个while循环来为扫描仪输入添加豁免,但无法弄清楚。

我正在尝试创建以下异常并在字符串大小为 (1) 时调用它。

这是我试图建立的概念:

public static void main(String[] args){ 
    Scanner keyboard = new Scanner(System.in); 
    ArrayList<String> exception = new ArrayList<String>();

    while (keyboard.hasNextString()) {
        exception.add(keyboard.nextString());
        System.out.println(exception);
    }
}

标签: javajava.util.scanner

解决方案


不确定您要在这里做什么,但此示例从键盘收集数据行,直到输入的值没有长度。如果输入的值的长度为 1,则将其添加到例外列表中。之后,它会打印例外列表的内容。

List<String> exceptions = new ArrayList<String>();
try (Scanner keyboard = new Scanner(System.in)) {
  while (true) {
    System.out.print("Enter value: ");
    String exception = keyboard.nextLine().trim();
    if (exception.length() == 1) {
      exceptions.add(exception);
    } else if (exception.length() == 0) {
      break;
    }
  }
} 
        
for (String exception : exceptions) {
  System.out.println(exception);
}

希望这会有所帮助。


推荐阅读