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

Java 一旦响应正确,如何终止while循环?,java,string,while-loop,user-input,Java,String,While Loop,User Input,我正在做一个程序,如果你输入“热/冷”,它会说“买一些冰淇淋”/“穿上夹克”。但是,即使在输入hot/cold之后,程序仍会在while循环中运行。我如何才能让这个程序不断询问用户的情况,直到他们正确地回答了两个答案中的一个,并防止它在用户键入正确答案后继续要求响应 import java.util.Scanner; public class IfStatement { public static void main(String[] args) { boolean r

我正在做一个程序,如果你输入“热/冷”,它会说“买一些冰淇淋”/“穿上夹克”。但是,即使在输入hot/cold之后,程序仍会在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: ");
        }

    }
}

只要
run
true
,循环就会迭代。因此,一旦输入正确,您需要将
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
}

只要
run
true
,循环就会迭代。因此,一旦输入正确,您需要将
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
}

break
语句也可以使用。

break
语句也可以使用。

您也可以使用do while loop

在这种情况下,当循环结束时,您将能够根据“x”检查您的条件,因此不需要额外的标志


但是,do while循环将至少运行一次,我假设您需要根据您的要求执行此操作。

您也可以使用do while循环

在这种情况下,当循环结束时,您将能够根据“x”检查您的条件,因此不需要额外的标志

然而,DoWhile循环将至少运行一次,我假设您需要按照您的需求来运行