高手java求助!

来源:百度知道 编辑:UC知道 时间:2024/05/24 20:26:04
下面的代码 运行后 输入其它的字符 就会打印出3次 您输入的有误!请重新输入
不知道怎么回事!求教高手!!
怎么修改?尽量别改变原代码。
......
char str3=(char)System.in.read();
while(true){
if(str3=='y'){
Yonghu.Dengben();
break;

}
else if(str3=='n'){
Yonghu.EveryMonth(Benjin,Nianfen);
Yonghu.Minxi();
break;
}
else{
System.out.println("您输入的有误!请重新输入:");
str3=(char) System.in.read();
continue;
}
代码太长了 发布不上来 没有加 while循环的时候 都没有问题加上后 就出现上面说的问题 是不是循环错了

不要用System.in.read():

Scanner s=new Scanner(System.in);
String ss=s.nextLine();

System.in.read()会读取3个字符 : 输入的字符 + \r +\n

请你把代码全部粘贴上来啊,不然让我们怎么帮你修改啊?

发完整的代码出来吧!估计问题不是出在这里。



else{
System.out.println("您输入的有误!请重新输入:");
str3=(char) System.in.read();
continue;
}

这一段变个形式加在while语句外面试试