1.
java.io 
Class BufferedReader
java.lang.Object
  |
  +-java.io.Reader
        |
        +-java.io.BufferedReaderDirect Known Subclasses: 
LineNumberReader 2.不行

解决方案 »

  1.   

    1. BufferedReader是Reader的子类。关于new InputStreamReader(System.in)我也和你一样郁闷过,是这样的:你要创建一个BufferedReader对象,名字叫br,这需要调用它的构造器,而这个构造器不能凭空构造出一个BufferedReader对象来,它需要你给一点必要的参数,它需要一个InputStreamReader类型的对象作为参数,你现在没有,所以你为他当场造一个,调用InputStreamReader这个类的构造器,你造了一个InputStreamReader对象,但是你没有给他起名字,因为你不需要直接使用它,你只要把它作为一个参数传递给BufferedReader的构造器就可以了。而InputStreamReader的构造器需要System.in这个对象作为它的参数。
    2. 不行。因为test是一个char类型的变量,而System.in.read()返回的是一个String类型的变量,所以要用(char)进行强制类型转换。
      

  2.   

    BufferedReader(Reader in) java.lang.Object
      |
      +-java.io.Reader
            |
            +-java.io.InputStreamReaderInputStreamReader(InputStream in)