java - 如何在 Java 中正确地将值添加到 3D 数组

标签 java arrays for-loop multidimensional-array

我正在尝试创建一个输出为的三维数组:

[1,2,3], [1,2,3], [1,2,3], [1,2,3]
[1,2,3], [1,2,3], [1,2,3], [1,2,3]
[1,2,3], [1,2,3], [1,2,3], [1,2,3]
[1,2,3], [1,2,3], [1,2,3], [1,2,3]
[1,2,3], [1,2,3], [1,2,3], [1,2,3]

这是我想出的代码:

public class Triples {

    public static void main(String[] args) {

        int[][][] triplet = new int[5][4][3];

        for (int i = 0; i < triplet.length; i++) 
        {
            for (int j = 0; j < triplet[i].length; j++) 
            {
                System.out.print("[");
                for (int k = 0; k < triplet[i][j].length; k++) 
                {
                    triplet[i][j][k] = i+1;
                    System.out.print(triplet[i][j][k] + "," + "");
                }
                System.out.print("]");
            }
            System.out.println();
        }
    }
}

我得到的结果是这样的:

[1,1,1,][1,1,1,][1,1,1,][1,1,1,]
[2,2,2,][2,2,2,][2,2,2,][2,2,2,]
[3,3,3,][3,3,3,][3,3,3,][3,3,3,]
[4,4,4,][4,4,4,][4,4,4,][4,4,4,]
[5,5,5,][5,5,5,][5,5,5,][5,5,5,]

我的问题是我不确定如何将第三个 for 循环中的值递增为 1、2 和 3。我尝试了不同的组合,但结果要么相同,要么不正确。有小费吗?

最佳答案

简单地分配k+1的值。就这样

解释:(我不太擅长这个。) ij 的值不会在 k 循环中改变。所以你不需要它们。但是 ok k 的值在每次迭代中都会发生变化。此外,它每次都会重置为 0。但我们不想要 0,所以将其更改为 k+1。 请在您的语句中放入一些调试 println。他们帮了很多忙。

三元组[i][j][k] = k+1;

新的最内层 for 循环看起来像这样:

for (int k = 0; k < triplet[i][j].length; k++) 
{
    triplet[i][j][k] = k+1;

    //Don't put the comma after last digit.
    if(k==triplet[i][j].length-1) {
        System.out.print(triplet[i][j][k] );
    }else {
        System.out.print(triplet[i][j][k] + "," + "");
    }

}    

关于java - 如何在 Java 中正确地将值添加到 3D 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54339255/

相关文章:

java - entitymanager.close() 不关闭与数据库的连接

javascript - 如何使用 JavaScript 从父级元素的 ID 获取元素的属性?

python - 如何迭代所有可选参数和相关值?

java - 将图像添加到 JTable

java - 断言 java 中私有(private)方法抛出异常的另一种方法

java - (线程新手)构建即时消息应用程序的最佳方式?

arrays - 试图添加到 slice 的索引超出范围

c - 关于C中数组相等的问题

python - 循环 2 个列表以创建多个 sql 游标,每个游标中有 2 个变化的变量

c++ - for循环的奇数输出