import java.io.*;
class test{
public static void main(String args[]) throws IOException {
int c = System.in.read();
int d = 15;
System.out.println(d);
System.out.println(c);
}
}
这段代码运行之后怎么d的打印时正确的,而c的打印的是它的ASCII码?

解决方案 »

  1.   

    是的,System.in是系统的输入流,read读取一个字符,并且返回其ASCII码
      

  2.   


    话说是gbk码吧?我感觉。。貌似应该和系统编码一样吧
      

  3.   

    可是我看文档中这个方法的定义,怎么返回的类型是int型的?
      

  4.   

    int 和 ACSII 明显是两个概念
      

  5.   

    这个是返回你输入在ASC码中对应的值。
    改成 char ch= (char)System.in.read();
         System.out.println(ch);可以输出字符串
      

  6.   

    ascii码就是一个数值型数据啊
      

  7.   

    System.in.read()是从输入流中一个字节一个字节读的,这个字节用int表示的原因是,这个int值对应ASCII码表中那个字符串所对应的编码,你用char强转就可以ASCII码表中根据这个int值找到对应的值
      

  8.   

    ASCII不就是一个收据吗?用前面的数字来计算的啊
      

  9.   

    int c = System.in.read();
    这行代码只是读取你输入的第一个字符的ASCII码。如:你输入的是数字15,读取到的只是1所对应的ASCII码49。
      

  10.   

    int 和 ASCII是有区别滴
      

  11.   

    char b='c';
    int c=(int)b;
    System.out.println(c);