import java.io.*;class IOTest{
public static void main(String[] args) throws IOException{
BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
System.out.println("please inter a line");
System.out.println(reader.read());}
}输入 :5
  运行 结果53;
谁能帮我解释一下啊

解决方案 »

  1.   

    输出的应该是hashcode
    比如输入a就打出97
      

  2.   

    改成这样就好了
    System.out.println("please inter a line");
    String s = reader.readLine();
    int n = Integer.parseInt(s);
    System.out.println(n);
      

  3.   

    那是因为你输入的5是字符型的,而reader.read()返回值是整型的,根据ASCII转换后当然是53了。
      

  4.   

    我也遇见这样的问题,从键盘上输入的是字符,java默认的编码是unicode,转化时就是用的它对应的ascii了 0就是48
    当然5就是53拉