首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

read()读取键盘数据计算字节的有关问题

2012-04-02 
read()读取键盘数据计算字节的问题public class CharDecode {public static void main(String[] args) thr

read()读取键盘数据计算字节的问题
public class CharDecode { 

public static void main(String[] args) throws Exception 
{ System.out.println("please enter a chinese word:"); 
  int ch = 0; 
  while(true) 
  { 

  ch = System.in.read(); 
  System.out.println(ch);
  System.out.println("从这儿"+Integer.toHexString(ch)+"到这儿"); 
  break;
  } 
 }
}
这个读取键盘的输入的数据,我直接按的enter键换行,ch输出的是13,换行是/n/r两个字节,怎么读取的是
13个字节??

[解决办法]
来自百度知道:
System.in返回的是InputStream指向命令行输入的字节流,它的read方法以字节流的方式来读取命令行的输入的数据。

也就是说,输入的字符,以字节流的方式从命令行传递给变量a,因此此时a是一个整数(字节流以整数的方式来表示)。

实际上这个整数是ascii码中对应十进制数(具体可查看ascii码对照表)。
比如输入a,因为a在ascii码中对应的十进制数是97,所以输出的就是97
[解决办法]

探讨
这儿也是从键盘上读取数据,为什么这儿直接点回车键时输出的是2,而不是ASCII值??

热点排行