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:
困扰我很久了,求解答,谢谢!
java里的system.in.read问题,大神进,谢谢!
答案:3 悬赏:10 手机版
解决时间 2021-01-30 22:00
- 提问者网友:棒棒糖
- 2021-01-30 11:13
最佳答案
- 五星知识达人网友:北方的南先生
- 2021-01-30 12:10
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。
你的程式如果改成:
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。
全部回答
- 1楼网友:一袍清酒付
- 2021-01-30 14:07
\r\n或\n
for (int i = 0; i <= 2; i++) {
ch = (char) System.in.read();
System.out.println("Your key is:" + ch);
System.out.println(((Character)ch).toString().length());
}
输入:asd 然后换行
输出:
Press any key followed by ENTER!
- 2楼网友:零点过十分
- 2021-01-30 13:14
你这个代码,最后ch等于第三次输入的值。回车键不会算进去,也就没有了\n,
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯