0

请帮我通过java控制台逐行输入。现在我只能以一行的形式提供输入。如何逐行给出多个输入?

4

4 回答 4

1
      InputStreamReader converter = new InputStreamReader(System.in);
      BufferedReader in = new BufferedReader(converter);

      String CurLine = ""; // Line read from standard in

      while (!(CurLine.equals("quit"))){
          CurLine = in.readLine();

          if (!(CurLine.equals("quit"))){
              System.out.println("You typed: " + CurLine);
          }
      }
于 2012-08-13T13:58:35.293 回答
0

使用的Console 类:

Console console = System.console();
if (console != null) {
    Scanner scanner = new Scanner(console.reader());
    while (scanner.hasNextLine()) {
        String line = scanner.nextLine();
        // Do something with your line
    }
}

^Z(control-Z) 结束输入,然后按ENTER

它有一个警告,那就是console在 IDE 中可以为 null。从命令行尝试它,你应该没问题:

java path.to.my.MainClass
于 2012-08-13T14:32:09.683 回答
0

您需要使用 Scanner 并循环请求多次。

例如

Scanner stdin = new Scanner(new BufferedInputStream(System.in));
while (stdin.hasNext()) {
//Get input and do your logic.
}
于 2012-08-13T14:00:12.137 回答
0

我不确定我是否理解你的问题,但是......

 final List<String> inputs = new ArrayList<String>();
 final Scanner in = new Scanner(System.in);
 for (int i = 0; i < 5; i++) {
      System.out.print("> ");
      inputs.add(in.next());
 }
 System.out.println(inputs);
于 2012-08-13T14:09:33.600 回答