只要
我正在编写一个程序,如果你键入"热/冷",它会说"拿一些冰淇淋"/"穿上夹克"。然而,即使在输入热/冷之后,程序仍会在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
}
break
语句也可以使用。
您也可以使用do while循环。
在这种情况下,当循环结束时,您可以根据"x"检查您的条件,因此不需要额外的标志。
然而,do-while循环将至少运行一次,我认为您需要根据自己的需求运行一次。