System.in 是PrintStream的一个实例,参见PrintStream的方法。 只能 按字节读取。因此默认情况下,无法读取char数据。 你可以使用 InputStreamReader 来包装 System.in对象,这样就可以 读取到 char类型了。
InputStreamReader in = new InputStreamReader ( System.in);
int temp = in.read();
char target ;
if(temp != -1){
target = (char)temp;
}
当然,你可以使用 BufferedReader做进一步的包装
PS: 如果是控制台读入,可以试试System.console()获取Console对象,然后进行相应的操作。 注意:这个Console对象一般在Eclipse中获取不到,只能在CMD下运行才可以。