如何创建一个循环,直到输入一个哨兵?

如何创建一个循环,直到输入一个哨兵?

问题描述:

我的代码是猜谜游戏。当用户用完猜测或猜测幻数时,我应该问他们是否想再次猜测一个数字。只要用户不输入哨兵,它应该能够运行1000次,这是“否”。我需要让我的代码循环到它将继续前进的位置,直到用户说“不”为止。如何创建一个循环,直到输入一个哨兵?

我试图在我的代码的底部要做到这一点,但卡住了,因为我觉得我应该已经做了一些在一开始,使之成为环......有人告诉我,我应该怎样包括这我的代码?

+1

这是一个你需要的简单循环。只需循环输入您的实际代码,直到输入关键字('否')。这就是为什么方法在这里是一个好主意。你的游戏应该是一种方法,你的主要只会有一个循环,而要求再次玩,并调用'game()'方法 – AxelH

+2

请参阅http://*.com/questions/513832/how-do-i -compare串式的Java。我们没有任何事情可以帮助您循环,直到您正确地进行字符串比较为止。 – ajb

+1

@ScaryWombat我不同意重复,是的,字符串比较存在问题,但OP不知道如何创建该循环。所以主要问题(对他来说)将不会以重复方式回答,只会产生副作用。 – AxelH

你需要下面给出通过循环运行:

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块中的语句总是至少执行一次。

+0

我将在最后居然用一个做,而只与问题;)这是完美的使用 – AxelH

+0

我同意。 do-while循环最适合OP的场景。 –

+0

我冒昧地编辑答案,你在循环中问了两次这个问题,但你只需要在最后一次提问之前提问。 PS:你应该解释一下条件;) – AxelH