Java递归函数,其中包含两个for循环

Java递归函数,其中包含两个for循环,java,recursion,Java,Recursion,在我的程序中,最重要的部分是用一些对象填充数组 这些物体是棋盘上的主教。有其他的功能来放置主教和它攻击的地方,或者决定董事会是否正确填充 在前两个循环结束时,电路板被填满,并返回到前一个状态,在此状态下进行下一次尝试 问题是,不知何故,它使用的不是旧的数组,而是最后一个数组,因此数组不断累积数字,而不是生成所有可能的选项。我做错了什么 编辑: 我想我必须提到的是,在结果中,这两个人应该是怎样的。在这之后,这一个被计数,其中没有零,并且CheckGoDestAnd返回一个1 int Sol

在我的程序中,最重要的部分是用一些对象填充数组

这些物体是棋盘上的主教。有其他的功能来放置主教和它攻击的地方,或者决定董事会是否正确填充

在前两个循环结束时,电路板被填满,并返回到前一个状态,在此状态下进行下一次尝试

问题是,不知何故,它使用的不是旧的数组,而是最后一个数组,因此数组不断累积数字,而不是生成所有可能的选项。我做错了什么

编辑
我想我必须提到的是,在结果中,这两个人应该是怎样的。在这之后,这一个被计数,其中没有零,并且CheckGoDestAnd返回一个1

    int SolveBoard(int m,int n,int d,int l) {
        int[][] field = new int[m][n]; // this is the m*n schaakbord. int is standaard 0.
        // probleem opgelost
        System.out.println("aantal lopers: " + l);
        int GoedeStand = Recursie(field,0,0, m, n, d, l);
        PrintFieldImage(field);
        return GoedeStand;  
    }

    //deze fuctie is alleen gekoppeld saan SolveBoard()
    int Recursie(int[][] field, int LopersSet, int AGB, int m, int n, int d, int l) {
        int mcount, ncount;
        int[][] fieldC = field;
        //de rekenlus              
        // 0 is leeg, 1 is aangevallen, 2 is lopers plaats, 3 is dame haar plaats      
        if (LopersSet < l) {
            LopersSet++;
            for (mcount = 0; mcount < m; mcount++) {
                for (ncount = 0; ncount < n; ncount++) {
                    //if (field[mcount][ncount] <= 1) {
                        fieldC = PlaatsLoper(fieldC, m, n, mcount, ncount);
                        //nu de recursie, eerst kopie maken van bord zodat deze niet verloren gaat
                        AGB = Recursie(fieldC, LopersSet, AGB, m, n, d, l);
                    //}
                }
            }
        } else {
            PrintFieldImage(field);
        }
        if (CheckGoedeStand(field, m, n) == 1 && LopersSet == l) {
            //PrintFieldImage(field);
            AGB++;
            //field = new int[m][n];
        }
        return AGB;
    }

我想我必须提到的是,在结果中,这两个人应该是怎样的。在这之后,这一个被计数,其中没有零,并且CheckGoDestAnd返回一个1。代码中的注释是什么语言的?很抱歉,这些注释不可用。他们是荷兰人,很好;谷歌翻译提供。
[2, 0]
[0, 1]

[2, 2]
[1, 1]

[2, 2]
[2, 1]

[2, 2]
[2, 2]

[2, 2]
[2, 2]

[2, 2]
[2, 2]

[2, 2]
[2, 2]

[2, 2]
[2, 2]

[2, 2]
[2, 2]

[2, 2]
[2, 2]

[2, 2]
[2, 2]

[2, 2]
[2, 2]

[2, 2]
[2, 2]

[2, 2]
[2, 2]

[2, 2]
[2, 2]

[2, 2]
[2, 2]

[2, 2]
[2, 2]
AGB= 19