楼上的很对啊。这个问题我也问过公司的一些同事,他们说的我也不大明白,有的说是读的是一个流,还有什么放在一个buffer里,唉,反正不是很清楚。

解决方案 »

  1.   

    如果没有错的话,当编译后输入asdf,输出的不应该是6个"你输入的是a".而是:
    你输入的是a
    你输入的是s
    你输入的是d
    你输入的是f
    你输入的是
    你输入的是
    (这里有个空白行)
    当你输入asdf\n,程序接受到的是:asdf\0\n 即实际是6个字符.(其中\0是什么也不打印的,\n打印回车)
      

  2.   

    这种特性似乎Java并不支持,这好像叫做IO流的同步什么的。
    就是实现C/C++中的getch()的功能:用户输入每个字符都会不用敲回车自动读入。
    C/C++支持的,其他底层语言也是支持的,但是Java似乎,并不支持
      

  3.   

    那这么看来也有可能是java不支持了,如果加入事件我想会有这种效果吧。感谢各位老大的指点,但我好像还是不是很清楚,呵呵,人笨了没办法。