用BufferedInputStream包装一下就可以了
把a=(char) System.in.read();
改成:
BufferedInputStream in = new BufferedInputStream(System.in);
a=(char)in.read();

解决方案 »

  1.   

    TO Danger2000(飞鱼)
    3K very much!:D
    能帮我解释一下是为什么不?
      

  2.   

    因为a=(char) System.in.read();的话,每次都会执行3次,包括回车和换行
    你可以用以下代码试试:
    把a=(char) System.in.read();改成
    int itemp=System.in.read();
    System.out.println(itemp);结果:
    输入:1
    输出:49
          13
          10

      

  3.   

    3K3K
    我是初学者,以后多多help啊^_^
      

  4.   

    对了,还要问一下:D它做三次(include enter and change_line),它和for有什么关系呢,这三个动作是按什么顺序做的呢?若一次循环有三个输出,那么20次循环应有60个输出而不是7个啊。还是不明白他到底是怎么来的。:-(