我有我的程序问题,具体与Standart输入。标准输入堆积
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
int in;
while ((in = input.read()) != -1) {
System.out.println(((char) in));
System.out.println("going throught while loop");
}
System.out.println("while loop ended");
input.close();
我本来期望的是输入已经被打印后,行“而循环结束”将被印刷为好,但这里是我所得到的,当我写的“hi”到Eclipse控制台输入
...............................
hi
h
going throught while loop
i
going throught while loop
going throught while loop
going throught while loop
.......... ...............
和程序仍在运行,并等待另一个输入,所以剩下的代码和呃while循环没有执行,所以我问你如何使它只是一次输入,我输入一些字左右,然后代码将离开while循环,换句话说,“while循环结束”行将是打印。
谢谢大家的任何建议。
read()方法 - 读取单个字符。所以对于每个字符循环都会执行,直到您的输入字符为止!= -1 – SujitKumar
您是如何做终端输入的?在DOS上,这是^ Z和在Unix上它是^ D –