System.in 是PrintStream的一个实例,参见PrintStream的方法。

只能 按字节读取。因此默认情况下,无法读取char数据。
你可以使用 InputStreamReader 来包装 System.in对象,这样就可以 读取到 char类型了。

Java代码
  1. InputStreamReader in = new InputStreamReader ( System.in);

  2. int temp = in.read();

  3. char target ;

  4. if(temp != -1){

  5. target = (char)temp;

  6. }


当然,你可以使用 BufferedReader做进一步的包装



PS: 如果是控制台读入,可以试试System.console()获取Console对象,然后进行相应的操作。 注意:这个Console对象一般在Eclipse中获取不到,只能在CMD下运行才可以。