【问题标题】:How to terminate while loop once response is correct?一旦响应正确,如何终止while循环?
【发布时间】:2016-03-31 08:42:33
【问题描述】:

我正在开发这个程序,如果你输入“热/冷”,它会显示“吃点冰淇淋”/“穿上夹克”。但是,即使在您输入 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: ");
        }

    }
}

【问题讨论】:

    标签: java string while-loop user-input


    【解决方案1】:

    只要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
    }
    

    【讨论】:

      【解决方案2】:

      break 语句也可以使用。

      【讨论】:

        【解决方案3】:

        您也可以使用 do while 循环

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

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

        【讨论】:

          猜你喜欢
          • 2013-04-22
          • 2022-07-18
          • 1970-01-01
          • 2020-11-23
          • 2013-03-06
          • 1970-01-01
          • 2017-03-10
          • 2017-02-09
          • 1970-01-01
          相关资源
          最近更新 更多