System.in的问题 System.out.println( System.in.read() );a被看做两个字节,高位为0低位为97(十进制),以字节流方式读入后应当只读入了高位0,那为什么输出结果是97,而不是0呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 to a_nuo() :程序如下: System.out.println( System.in.read() ); System.out.println( System.in.read() );运行时,如果输入a再回车, 第一次读入的输出结果 为97即a的unicode码 第二次读入的输出结果 为13即回车符的unicode码 奇怪的是字符a的高位没有输出,为什么?麻烦大家了! println(int)print all (hight + low) 不理解 为什么 输入 a 回车 会输出 97 13 高手 给我解决一下呀public class Send{ public static void main(String[] args) { try { System.out.println( System.in.read() ); System.out.println( System.in.read() ); } catch (Exception e ){}; } } 把a转型为int型了,如果要输出字符a,那得用System.out.println((char)System.in.read());强制把97转换成字符。 你输入a后面按了回车键当然流中会存在两个字节而read()每次读入一个字节,那下一次读入自然就是读入回车键了,当我们用键盘输入字符时,并不是按java的 unicode来对字符编码,而是按照本机的默认字符集来进行编码,比如我们中文操作系统都是gbk---大伙说对不对,关注.. 对。读入的字符会被转为unicode。但是使用read,返回的是读入的一个字节,这个字节是标准输入流提供的,所以读入的是a的ascii码(或者说是操作系统内码吧)。使用read时,要等到输入按下回车后才能读出数据,而回车会根据操作系统不同而被读成\r\n或者\n,也就是13 10或者10。所以第二次read读出了13。 文件操作中创建新文件时会抛出什么异常 Flash Builder 4 安装报错 JPanel保存为图片 关于clathpath配置的问题,来者有分 谈谈你对三层架构的认识?<开心散分> 这道题的思路 为什么这个泛型程序没有输出? 【Java UDP网络编程死锁问题,在线等......】 我想在北京找一份JAVA程序员工作 急需java程序员 求助:有关生命工程的问题!!雄鸡和雌鸡血液比较。。。 这道IO题目,怎么做最优化呢?
程序如下:
System.out.println( System.in.read() );
System.out.println( System.in.read() );
运行时,如果输入a再回车,
第一次读入的输出结果 为97即a的unicode码
第二次读入的输出结果 为13即回车符的unicode码
奇怪的是字符a的高位没有输出,为什么?
麻烦大家了!
public class Send
{
public static void main(String[] args)
{
try
{
System.out.println( System.in.read() );
System.out.println( System.in.read() );
}
catch (Exception e ){};
}
}
当我们用键盘输入字符时,并不是按java的 unicode来对字符编码,而是按照本机的默认字符集来进行编码,比如我们中文操作系统都是gbk---大伙说对不对,关注..
读入的字符会被转为unicode。
但是使用read,返回的是读入的一个字节,这个字节是标准输入流提供的,所以读入的是a的ascii码(或者说是操作系统内码吧)。
使用read时,要等到输入按下回车后才能读出数据,而回车会根据操作系统不同而被读成\r\n或者\n,也就是13 10或者10。
所以第二次read读出了13。