如何创建一个循环,直到输入一个哨兵?
问题描述:
我的代码是猜谜游戏。当用户用完猜测或猜测幻数时,我应该问他们是否想再次猜测一个数字。只要用户不输入哨兵,它应该能够运行1000次,这是“否”。我需要让我的代码循环到它将继续前进的位置,直到用户说“不”为止。如何创建一个循环,直到输入一个哨兵?
我试图在我的代码的底部要做到这一点,但卡住了,因为我觉得我应该已经做了一些在一开始,使之成为环......有人告诉我,我应该怎样包括这我的代码?
答
你需要下面给出通过循环运行:
final String SENTINEL = "no";
# put your required code here
System.out.print(" Would you like to try to guess a number? (Yes or No):");
String answer = scan.next();
while(!answer.equals(SENTINEL)){
# put your required code here
# do all your stuff and then ask users' preference again
System.out.print("Would you like to try to guess a number? (Yes or No):");
answer = scan.next();
}
您还可以使用做,而环路,更好地匹配您的需要。
final String SENTINEL = "no";
# put your required code here
System.out.print(" Please enter your name: ");
String name = scan.next();
do{
# put your required code here
# do all your stuff and at the end of the loop ask users' preference
System.out.print("Would you like to try to guess a number? (Yes or No):");
String answer = scan.next();
}while(!answer.equals(SENTINEL));
之间的差做-而和而是,DO-而在循环,而不是顶部的底部评估其表达。因此,do块中的语句总是至少执行一次。
这是一个你需要的简单循环。只需循环输入您的实际代码,直到输入关键字('否')。这就是为什么方法在这里是一个好主意。你的游戏应该是一种方法,你的主要只会有一个循环,而要求再次玩,并调用'game()'方法 – AxelH
请参阅http://*.com/questions/513832/how-do-i -compare串式的Java。我们没有任何事情可以帮助您循环,直到您正确地进行字符串比较为止。 – ajb
@ScaryWombat我不同意重复,是的,字符串比较存在问题,但OP不知道如何创建该循环。所以主要问题(对他来说)将不会以重复方式回答,只会产生副作用。 – AxelH