一旦响应正确,如何在循环时终止



我正在编写一个程序,如果你键入"热/冷",它会说"拿一些冰淇淋"/"穿上夹克"。然而,即使在输入热/冷之后,程序仍会在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: ");
        }
    }
}
只要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
}

break语句也可以使用。

您也可以使用do while循环

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

然而,do-while循环将至少运行一次,我认为您需要根据自己的需求运行一次。

相关内容

  • 没有找到相关文章

最新更新