2 winter wind winter_wind 于 2016.02.24 20:53 提问

read()方法谁来介绍一下,搞不懂

我用int c=System.in.read()输入一个1,然后在用System.out.print()输出,为什么是一个ASSIC码49。不应该是我输入什么,读出什么吗?

5个回答

caozhy
caozhy   Ds   Rxr 2016.02.24 22:03

int c=System.in.read()
->
int c=System.in.read() - '0';

baidu_34066826
baidu_34066826   2016.02.24 21:03

键盘输入的? 因为1 对应的 ASSIC 键盘编号是 49

baidu_34066826
baidu_34066826 System.in返回的是InputStream指向命令行输入的字节流,它的read方法以字节流的方式来读取命令行的输入的数据。
接近 2 年之前 回复
luochoudan
luochoudan   Ds   Rxr 2016.02.25 09:45

人家的方法就是读取一字节,返回一ASCII码,骚年,你都这样写了,还不让人这样返回?

henuyx
henuyx   2016.02.25 11:16

是ascii值啊,你可以做个ascii的对照表,这样就行了

wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.02.25 13:03

如果要想原样显示你的输入的话,应该使用Scanner类来输入,new Scanner(System.in)这样的话可以直接获取你在控制台输入的信息了。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!