【发布时间】:2012-08-13 13:56:55
【问题描述】:
请帮我通过java控制台逐行输入。现在我只能以一行的形式提供输入。如何逐行给出多个输入??
【问题讨论】:
-
使用循环?多次阅读?
标签: java command-line input console
请帮我通过java控制台逐行输入。现在我只能以一行的形式提供输入。如何逐行给出多个输入??
【问题讨论】:
标签: java command-line input console
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);
}
}
【讨论】:
您需要使用 Scanner 并循环请求多次。
例如
Scanner stdin = new Scanner(new BufferedInputStream(System.in));
while (stdin.hasNext()) {
//Get input and do your logic.
}
【讨论】:
我不确定我是否理解你的问题,但是......
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);
【讨论】:
使用 new 控制台类:
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 中可以为空。从命令行尝试一下,应该没问题:
java path.to.my.MainClass
【讨论】: