将流量从for循环转移到开关盒

时间:2018-10-04 12:12:46

标签: java for-loop switch-statement

请有人向我解释如何在我的代码中将控制流从for循环转移到switch情况

for (int i = 0; i < 3; i++) {
    String answer;
    System.out.println("Are You Sure ?");
    answer = input.next();

    if (answer.equals("y")) {
        break OUTER;
    }

}

switch(operator) {
case "add":
    result = num1 + num2;
    System.out.printf("%d + %d is equal to %d", num1, num2, result);
    break;
case "subtract":
    result = num2 - num1;
    System.out.printf("%d - %d is equal to %d", num1, num2, result);
    break;
case "multiply":
    result = num2 * num1;
    System.out.printf("%d x %d is equal to %d", num1, num2, result);
    break;  
case "divide":
    result = num2 / num1;
    System.out.printf("%d / %d is equal to %d", num1, num2, result);
    break;    
}

2 个答案:

答案 0 :(得分:1)

For循环具有条件表达式,您已经在使用三次条件后使用它来纾困。您可以修改表达式以考虑答案。像这样:

option

答案 1 :(得分:0)

请参阅如何在Java中使用标签,基本上,标签必须在语句的范围内 link

从您的代码中,我假设您只是想退出for循环。所以你可以在下面做

OUTER:  for (int i = 0; i < 3; i++) {
    String answer;
    System.out.println("Are You Sure ?");
    answer = "y";

    if (answer.equals("y")) {
        break OUTER;
    }
}