当我没有在“while”部分输入“y”时,程序正在退出。当用户输入不是“y”时,请帮助我拒绝
try {
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("hakdug");
System.out.println("a.quit");
System.out.println("b.continue");
System.out.println("c.break");
System.out.println("d.exit");
do {
System.out.print("Enter your choice:");
choice = br.readLine();
if (choice.compareTo("b")==0) {
System.out.println("Congratulation!");
break;
}
else System.out.println("Incorrect!");
System.out.print("Again? press y to continue:");
con =br.readLine();
} while (con.compareTo("y")==0);
} catch(IOException e){}
3条答案
按热度按时间xesrikrc1#
您需要删除代码中的break语句:
break语句强制jvm中断整个循环。我在这里评论了break语句。
lg40wkob2#
所以现在,如果用户输入字母“y”(同样,这是区分大小写的),就会有一个无限循环。但是,最主要的是如果用户输入了任何其他字符,它就退出了程序,因为它到达了文件的末尾,如果您想让它为任何其他键输入做一些其他的事情,您需要对其进行编程。我还要说,删除break语句很重要,因为这也可能会引起问题。
3phpmpom3#
我对这个问题有点困惑。
但是,如果所需的功能是您不断循环,直到用户被按下“b”(并表示祝贺),或者如果他们搞错了,那么只有当他们按下“y”时才退出,那么您应该更改
到
这告诉它只有在没有按“y”时才循环,而不是在按“y”时循环。