【发布时间】:2016-07-09 23:50:15
【问题描述】:
我正在尝试为一个竞争性编程问题解析一些输入测试用例,但即使我正在阅读整行和“\n”字符,程序也只是坐着等待。
代码如下:
public static void main(String[] args) throws IOException {
String result = "", input = "";
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
while((input = br.readLine()) != null){
result += input;
}
System.out.print(result);
}
这是超级简化的,但它仍然不起作用。当我输入时(不带引号) "1 2 3 4 5 6 7 8 9" 然后回车,它只是等待更多的输入。我怎样才能让它工作,以便在我按 enter 后,程序离开 while 循环?
我是否也可以将这项工作用于多行?例如,在最后一个“\n”之后,如果没有更多字符,则跳出循环。
感谢您的帮助。 :)
【问题讨论】:
-
为什么需要一个while循环?
-
这是 2016 年。为什么不使用 try-with-resources?
-
我想输入可变数量的行。
-
老兄按
enter、Ctrl + Z(Windows)、Ctrl + D(Linux)、Cmd + D(Mac) -
@Misha,这是向操作系统发出的输入流已经结束的信号。 IE。这里没什么可看的,继续前进