请帮我通过java控制台逐行输入。现在我只能以一行的形式提供输入。如何逐行给出多个输入?
问问题
6013 次
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 回答