尝试将数组中的元素与for循环组合在一起

时间:2018-06-10 19:10:35

标签: java arrays

我遇到了这个循环的逻辑问题。

a[5] = {1, 2, 3, 4, 5}
b[3] = {6, 7, 8}
c[3] = {9, 10, 11}
d[3] = {12, 13, 14}

这就是我要做的事情:

1, 6, 9, 12
1, 6, 9, 13
1, 6, 9, 14
1, 6, 10, 12
1, 6, 10, 13

...等

我在另一个中有4个for循环,但这似乎不起作用。任何人都可以帮助我吗?

        for (int i = 0; i < 5; i++) {

            System.out.print(a[i]);

            for (int j = 0; j < 3; j++) {

                System.out.print(b[j]);

                for (int k = 0; k < 3; k++) {

                    System.out.print(c[k]);

                    for (int m = 0; m < 3; m++) {

                        System.out.print(d[m]);
                        System.out.println();

                    }
                }
            }
        }

2 个答案:

答案 0 :(得分:1)

for (int i = 0; i < 5; i++) {

        for (int j = 0; j < 3; j++) {

            for (int k = 0; k < 3; k++) {

                for (int m = 0; m < 3; m++) {
                    System.out.print(a[i]);
                    System.out.print(b[j]);
                    System.out.print(c[k]);
                    System.out.print(d[m]);
                    System.out.println();

                }
            }
        }
    }

只是一个逻辑问题。您希望在每次迭代期间显示a,b和c数组值,因此这样做。 我真的没有用Java编写代码,所以我的synthax可能是错误的,但我认为逻辑是关键的。

答案 1 :(得分:0)

您可以使用以下代码:

public static void main(String[] args){
    int [] a = {1, 2, 3, 4, 5};
    int [] b = {6, 7, 8};
    int [] c = {9, 10, 11};
    int [] d = {12, 13, 14};
    for(int i =0; i < a.length; i++) {
      for(int j =0; j < b.length; j++){
        for(int l =0; l < c.length; l++) {
          for(int m =0; m < d.length; m++) {
            System.out.printf("%d, %d, %d, %d\n",a[i],b[j],c[l],d[m]);
        }
        }
      }
    }
  }

您可以尝试Ideone