public static void main(String[] args) {
       try
       {
           DataInputStream di=new DataInputStream(System.in);
           System.out.print(di.readInt());
       }
       catch(Exception ex)
       {
         System.out.print(ex.getMessage());
       }
    }总是得到奇怪的答案!
java的IO流真麻烦,有什么好书可以介绍的?

解决方案 »

  1.   

    你是否想把自己输入的文字再显示出来?BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    try {
        System.out.println("return:" + br.readLine());
    }
    catch (IOException ex) {
    }
      

  2.   

    System.in相当于一个StringBufferInputStream,
    而DataInputStream应该去包装一个ByteArrayInputStream,
    所以你这么弄肯定是错的了~~~~~
      

  3.   

    你可以用DataInputStream包装下,使用该类的readInt()或者readFloat()方法
      

  4.   

    我的代码不就是用DataInputStream包装,然后再用reanInt()读的吗