如何根据输入线的多个条件从扫描仪输入中读取预定义的行数

时间:2018-11-27 12:36:29

标签: java if-statement while-loop java.util.scanner

我最多需要读取10行,每行仅包含*和字符。以及其他条件(例如以*和长度10开头),应该读取的最后一行应在其后一行带有END字样。我想知道是否有比下面更好的方法来解决它。如果我可以检查while循环中的所有条件

  Scanner keyboard = new Scanner(System.in);
    int countLine = 0;
    String line = "";
    while (countLine < 10) {
        line = keyboard.nextLine();
        countLine++;
        if (line.matches("[*.]+") && !line.equals("END") && line.startsWith("*") && line.length() < 10
               ) {
          // do something
        } else {
            break;
        }
    }
    keyboard.close();

1 个答案:

答案 0 :(得分:0)

执行此操作的一种方法是:

  1. 将整个文档读入您的应用程序。
  2. 将每行(行/列)解析为arrayLists(因此文档的前10行)
  3. 执行必要的计算(仍在while循环中)。