为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

交互式爱情 2022-05-21 20:21:34
我正在尝试创建一个输出为的三维数组:[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。我尝试了不同的组合,但它们的结果要么相同,要么不正确。有小费吗?
查看完整描述

3 回答

?
慕码人2483693

TA贡献1860条经验 获得超9个赞

只需分配 的值k+1。就这样


解释:(我不太擅长这个。)i和的 值j不会在k循环中改变。所以你不需要它们。但是 ok 的值k在每次迭代中都会发生变化。它也将重置为0每次。但我们不希望0将其更改为k+1. println请在您的声明中添加一些调试。他们帮助很大。


triplet[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] + "," + "");

    }


}    


查看完整回答
反对 回复 2022-05-21
?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

您需要在第二个循环中初始化 adder 的值,然后在更深的循环中将该值加 1。试试这个:


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] = k+1;

                    System.out.print(triplet[i][j][k] + "," + "");

                }

                System.out.print("]");

            }

            System.out.println();

        }

    }

}


查看完整回答
反对 回复 2022-05-21
?
MMTTMM

TA贡献1869条经验 获得超4个赞

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] = k+1;

                        if(k==triplet[i][j].length-1) 

                            System.out.print(triplet[i][j][k] );

                        else

                            System.out.print(triplet[i][j][k] + ",");

                }

                if(j==triplet[i].length-1) 

                    System.out.print("]");

                else

                    System.out.print("], ");

            }

            System.out.println();

        }

    }

}


查看完整回答
反对 回复 2022-05-21
  • 3 回答
  • 0 关注
  • 192 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号