有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在没有“退出”等词的情况下进行输入时停止循环

我必须在EOF(空白或行尾)之前接受输入。例如:

1
2
3
4
// end of taking input

我用Scanner来获取输入。我尝试了this 解决方案

    public static void main(String[] args) throws IOException {
        Scanner sc = new Scanner(System.in);
        ArrayList<String> password = new ArrayList<>();
        String input;

        while (!(input = sc.nextLine()).equals("")) {
            password.add(input);
        }

        boolean[] lengthValidation = lengthCheck(password);
        boolean[] passwordContainCheck = containCheck(password);

        print(lengthValidation, passwordContainCheck);
    }

我不能用这个,因为uri不接受它作为答案的变体

while(true) {
   String input = sc.nextLine();
   
   if (input.equals(""))
       break;
}

共 (1) 个答案

  1. # 1 楼答案

    I have to take inputs until EOF (white space or end of line).

    试试下面的方法。每行一个条目。以空行结束。您可以将它们存储在列表中,并在循环终止时使用它们

    Scanner input = new Scanner(System.in);
    String v;
    List<String> items = new ArrayList<>();
    while (!(v = input.nextLine()).isBlank()) {
        items.add(v);
    }
    System.out.println(items);