首页 > 解决方案 > 在 for 循环 Java 中中断 while 循环

问题描述

循环工作正常。

  while (!(list.contains("NORTH SOUTH") || list.contains("SOUTH NORTH") || list.contains("WEST EAST") || list.contains("EAST WEST"))) {


        for (int i = 0; i < list.size(); i++) {
            for (int k = i + 1; k < list.size(); k++) {
                if (list.get(i).contains("NORTH") && list.get(k).contains("SOUTH") ||
                    list.get(i).contains("SOUTH") && list.get(k).contains("NORTH") ||
                    list.get(i).contains("WEST") && list.get(k).contains("EAST") ||
                    list.get(i).contains("EAST") && list.get(k).contains("WEST")) {
                    list.remove(i);
                    list.remove(k - 1);


                  }
            }
        }

我的问题是:

如何退出while循环并保存结果列表?

标签: javaloops

解决方案


在 if 条件中使用 break 语句并将布尔值设置为变量。在 for 循环结束后检查该布尔变量的状态。如果它为 true,则使用 break 语句跳出 while 循环。

while (!(list.contains("NORTH SOUTH") || list.contains("SOUTH NORTH") || list.contains("WEST EAST") || list.contains("EAST WEST"))) {

    boolean conditionChecker=false;
    for (int i = 0; i < list.size(); i++) {
        for (int k = i + 1; k < list.size(); k++) {
            if (list.get(i).contains("NORTH") && list.get(k).contains("SOUTH") ||
                list.get(i).contains("SOUTH") && list.get(k).contains("NORTH") ||
                list.get(i).contains("WEST") && list.get(k).contains("EAST") ||
                list.get(i).contains("EAST") && list.get(k).contains("WEST")) {
                list.remove(i);
                list.remove(k - 1);
                conditionChecker=true;
                break;

              }
        }
        if(conditionChecker==true){
          break;      
           }
    }

推荐阅读