java里的system.in.read问题,大神进,谢谢!

publicclasstest{publicstaticvoidmain(Stringargs[])throwsjava.io.IOException{charch='a... public class test {
public static void main(String args[])
throws java.io.IOException{
char ch='a';
System.out.print("Press any key followed by ENTER!");
for(int i=0;i<=2;i++){
ch=(char)System.in.read();
System.out.println("Your key is:"+ch);
}
}
}我的问题是:windows环境下,假设我从键盘上输入a和回车,那么三次读入的ch是什么?是a和\n还是a和null?还是a和\n和\r?windows下回车键相当于是换行符加回车符吧?
Your key is:a
Your key is:

Your key is:
困扰我很久了,求解答,谢谢!
展开
 我来答
sai_84
2013-08-27 · TA获得超过531个赞
知道小有建树答主
回答量:264
采纳率:100%
帮助的人:418万
展开全部

Windows环境下回车是输入\r\n。

你的程式如果改成:

int ch = 'a';
for(int i=0;i<=2;i++) {
    ch = System.in.read();
    System.out.println("Your key is:"+ch);
}

就可以看到当键盘输入a,回车,打印为 97, 13, 10。 也就是 a \r \n。

Linux环境回车是\n。

勤奋的萨芬大幅
2013-08-27
知道答主
回答量:33
采纳率:0%
帮助的人:11.7万
展开全部
你这个代码,最后ch等于第三次输入的值。回车键不会算进去,也就没有了\n,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式