你能解释一下为什么吗,如果我依次按下以下键:{ 、、、、、、} ,a然后我会看到一个非常奇怪的输出,它将先前的输入与当前的输入分开约 5 个换行符?enterbenterqenter
编码:
BufferedReader in = new BufferedReader (new InputStreamReader(System.in));
char c;
do {
c = (char)in.read();
System.out.println(c);
} while (c!='q');
期待:
a
a
b
b
q
现实:
a
a
b
b
q
q
即使你认为点击的enter时候也是直接发送\n到流中,那么输入第一个字母后的输出应该是这样的:
a
a
b...
那些。还从哪里展示了一条线的拆除?...
这段代码会给出预期的结果也很有趣:
BufferedReader in = new BufferedReader (new InputStreamReader(System.in));
String s;
do {
s = in.readLine();
System.out.println(s);
} while (!s.equals("q"));
从您的第一个示例中,它为我显示,如果您“听”代码,那么:
我假设由于
char这是一个字符,因此换行符\n(可能来自Enter)在打印时作为单独的字符打印。如果使用不带换行符的方法,即System.out。打印(),然后:如果在代码中: