有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java是否可以在嵌套循环中添加条件for循环?

在普通的嵌套for循环中,是否可以设置条件来确定是否在嵌套循环中运行特定的for循环

例如,在下面这样的代码中,当第一个循环的int i为<;3?

for(int i = 0; i < 5; i++) {
    for(int j = 0; j < 3; j++) {
        for(int k = 0; k < 9; k++) {
            //hell a lot of codes
        }
    }
}

只有当我<;3,实际执行的代码如下所示

for(int i = 0; i < 5; i++) {
    for(int k = 0; k < 9; k++) {
        //hell a lot of codes   
    }
}

我之所以要这样做,是因为最内部的代码相当长,而且for循环的数量(大约10个嵌套)也相当多,所以我真的不想再次重复它们。我可以考虑用方法来实现这一点,但我对方法和OO编程不太熟悉

非常感谢


共 (1) 个答案

  1. # 1 楼答案

    通常,我可能会将代码提取到一个单独的方法中。但如果您不想这样做,这里有一个解决方法:

    for(int i = 0; i < 5; i++) {
        for(int j = 0; j < (i < 3 ? 1 : 3); j++) {
            for(int k = 0; k < 9; k++) {
                //hell a lot of codes
            }
        }
    }
    

    这样,如果i < 3j循环将只执行一次


    方法方法大致如下所示:

    void outer() {
        for(int i = 0; i < 5; i++) {
            if(i < 3) {
                inner(i, 0);
            } else {
                for(int j = 0; j < 3; j++) {
                    inner(i, j);
                }
            }
        }
    }
    
    void inner(int i, int j) {
        for(int k = 0; k < 9; k++) {
            //hell a lot of codes
        }
    }
    

    您可能希望将方法设置为静态、私有、删除参数或添加返回类型等。仅使用问题中的代码很难说