(char)System.in.read()对于输入的汉字,为何显示为‘?’
(char)System.in.read()对于输入的汉字,为何显示为‘?’ 
 对于汉字在java中以unicode码存放,个人以为截取其中的8位再强制转换为char,可是结果总为‘?’,请指教
------解决方案--------------------举个例子 
  '我 '这个字符对应的UTF-8编码是1100,1110,1101,0010 
 而read()这个方法只是读取输入流的下一个字节,并将其转成int返回 
 所以你得到的实际上是 
 0000,0000,0000,0000,0000,0000,1100,1110 
 接下来你把这个砍成char,就变成了0000,0000,1100,1110 
 显示出来就是 '? '
------解决方案--------------------import java.io.*; 
 public class Test 
 { 
 	public static void main(String [] args) throws 
IOException{ 
 		System.out.println( "input your value:  "); 
 BufferedReader br =new BufferedReader (new InputStreamReader(System.in)); 
 String s=br.readLine(); 
 System.out.println(s); 
 	}  	 
 }