我正在制定这个节目,说“"得到一些冰淇淋" /"穿上夹克"如果你打字"热/冷"。但是,即使输入热/冷,程序仍然会在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: ");
}
}
}
答案 0 :(得分:5)
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
}
答案 1 :(得分:1)
break
语句。
答案 2 :(得分:0)
您也可以使用执行循环。
在这种情况下,您可以根据" x"来检查您的情况。当循环结束时,因此不需要额外的标志。
但是,while循环至少会运行一次,我认为你需要根据你的要求。