当前位置: 技术问答>java相关
System.in.read 的问题
来源: 互联网 发布时间:2015-06-01
本文导语: num1=System.in.read(); switch(num){ case '1': ……; num2=System.in.read(); switch(num2){ case '1': ……; break; case '2': ……; break; …… ...
num1=System.in.read();
switch(num){
case '1':
……;
num2=System.in.read();
switch(num2){
case '1':
……;
break;
case '2':
……;
break;
……
}
break;
case '2':
……
}
我从键盘读入第一个数num1后,跟本就不给我读第二个数的机会,程序直接就跳出整个switch了,不知道是什么原因?
switch(num){
case '1':
……;
num2=System.in.read();
switch(num2){
case '1':
……;
break;
case '2':
……;
break;
……
}
break;
case '2':
……
}
我从键盘读入第一个数num1后,跟本就不给我读第二个数的机会,程序直接就跳出整个switch了,不知道是什么原因?
|
你把回车也读进去作为num2的值了,所以根本不符合第2层case的要求.
在前面加一句: System.in.skip(1);
忽略掉回车的读入.
在前面加一句: System.in.skip(1);
忽略掉回车的读入.
|
老大:
你到底要做什么,从没见过这种代码.
如果num1不是case中的一个他当然就出去了;
还有最好在System.in.read()后加一个System.in.skip(2);
不然后面的System.in.read()读的是'n','r'.
你到底要做什么,从没见过这种代码.
如果num1不是case中的一个他当然就出去了;
还有最好在System.in.read()后加一个System.in.skip(2);
不然后面的System.in.read()读的是'n','r'.
|
同意楼上的
|
大哥
num1=System.in.read();
这句就是等待输入,按了enter键后
程序往下走
这句就不再有作用了
如果希望这句还要有作用
可以将你的程序都放入
while(true) {
num1=System.in.read();
switch(num){
……
}
}
那么输入一个数据以后,执行switch处理后,你又可以输入了……
num1=System.in.read();
这句就是等待输入,按了enter键后
程序往下走
这句就不再有作用了
如果希望这句还要有作用
可以将你的程序都放入
while(true) {
num1=System.in.read();
switch(num){
……
}
}
那么输入一个数据以后,执行switch处理后,你又可以输入了……