如果要求輸入與輸出的一致的話:通常情况下,你会用readLine( )一行一行地读取输入,因此要把System.in包装成BufferedReader。但在这之前还得先用InputSteamReader把System.in转换成Reader。BufferedReader in = new BufferedReader(new InputStreamReader(System.in));int a = Integer.parseInt(in.readLine());//强制转换为需要的类型
为什么要把
InputSteamReader把System.in转换成Reader。这句有是做什么的:
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));请高手尽量解释的详细点,谢谢了

解决方案 »

  1.   

    没什么好说的,看一下BufferedReader 和InputStreamReader的构造函数就知道了建议先了解一下装饰模式
      

  2.   

    一个是字节流,速度超慢,一个是字符流,在字节流的基础上包装了一层,传输数据速度快。好比方是水龙头,粗的水龙头水流速度快,细的慢,system.in就好比是那个细的水龙头
      

  3.   

    1楼说的不错,io包里大量运用了decorator模式
      

  4.   

    BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); 
    :
    System.in 返回InputStream——字节流
    InputStreamReader 是字节流通向字符流的桥梁:
    BufferedReader代缓冲的字符流。
    我们想用readLine()方法,BufferedReader提供了这个方法,而System.in返回的是InputStream,所以我们用InputStreamReader把字节流转换成字符流,再利用BufferedReader(Reader)构造方法生成BufferedReader.
    就是这样
      

  5.   

    7楼说的没有错http://www.bcclt.cn编程村论坛