一旦响应正确,如何终止while循环?

时间:2015-12-25 06:44:45

标签: java string while-loop user-input

我正在制定这个节目,说“"得到一些冰淇淋" /"穿上夹克"如果你打字"热/冷"。但是,即使输入热/冷,程序仍然会在while循环中继续运行。如何让这个程序不断询问用户他们的情况,直到他们正确回答两个答案中的一个,并防止它在用户输入正确答案后不断询问响应?

import java.util.Scanner;

public class IfStatement {
    public static void main(String[] args) {
        boolean run = true;

        while(run) {

        System.out.println("What is your condition: ");
        Scanner input = new Scanner(System.in);
        String x = input.nextLine();

        if(x.equals("hot"))
            System.out.println("Get some ice cream");

        else if(x.equals("cold"))
            System.out.println("Put on a jacket");

        else
            System.out.print("Try again, what is your condition: ");
        }

    }
}

3 个答案:

答案 0 :(得分:5)

只要runtrue,您的循环就会重复。因此,一旦输入正确,您需要做的是将run设置为false。像这样

if(x.equals("hot")){
   System.out.println("Get some ice cream");
   run = false;  // setting run to false to break the loop
}    

else if(x.equals("cold")) {
   System.out.println("Put on a jacket");
   run = false; // setting run to false to break the loop
}

答案 1 :(得分:1)

也可以使用

break语句。

答案 2 :(得分:0)

您也可以使用执行循环

在这种情况下,您可以根据" x"来检查您的情况。当循环结束时,因此不需要额外的标志。

但是,while循环至少会运行一次,我认为你需要根据你的要求。