【发布时间】:2010-10-24 08:27:38
【问题描述】:
下面的程序打印标准输入中的每个字符,但仅在写入换行符之后(至少在我的系统上!)。
public class Test {
public static void main(String[] args) throws java.io.IOException {
int c;
while ((c = System.in.read()) != -1)
System.out.print((char) c);
}
}
这可以防止人们编写诸如“按任意键继续”之类的内容,并强制诸如“按 Enter 继续”之类的内容。
- 造成这种情况的根本原因是什么?
- 这是 Java 的限制吗?
- 这种行为是否依赖于系统(我在 Ubuntu 上)?它如何在 Mac 上运行?窗户?
- 它是否取决于我运行应用程序的特定终端? (对我来说,它在 Eclipse 和 gnome-terminal 中的行为是这样的)
- 有解决方法吗?
【问题讨论】: