2

初めて 3D 配列を使用している可能性があります。1D と 2D の構文に従って 3D を宣言しようとしましたが、コンパイラは型の不一致を示しています。この背後にある理由を誰か教えてもらえますか?

Integer[] _1D = new Integer[]{2,4,6,5,6};
Integer[][] _2D = new Integer[][]{{2,3},{4,6},{5,6}};
Integer[][][] _3D = new Integer[][][]{{1,2,3},{4,5,6},{7,8,9},{2,4,5}};

ありがとう、

4

4 に答える 4

3

再び2 次元配列を作成しているだけですが、 4 行 3 列です。これは、3 次元配列を作成する正しい方法です。

Integer[][][] _3D = new Integer[][][]{{{1,2,3},{4,5,6},{7,8,9},{2,4,5}},{{1,2,3},{4,5,6},{7,8,9},{2,4,5}}}; // it should be like this.
于 2013-11-14T07:29:53.197 に答える
2
{{1,2,3},{4,5,6},{7,8,9},{2,4,5}};

これは単なる 2D 配列です。3D 配列の例は次のとおりです。

Integer[][][] _3D = new Integer[][][]{{{1,2,3},{4,5,6}},{{7,8,9},{2,4,5}}};

3D配列は、配列を含む配列を含む配列であるため、最初の配列のみが数値を持つ配列を持つ配列であるという前提で見ることができます。

于 2013-11-14T07:35:24.850 に答える
2

あなたの 3 次元配列は、実際には 2 次元配列です。ブレース ペアを追加して 3D にします。

Integer[][][] _3D = new Integer[][][]{{ {1,2,3},{4,5,6},{7,8,9} }};
于 2013-11-14T07:30:33.810 に答える
1

@RJ の回答に追加すると、このように 3 次元が見やすくなります

Integer[][][] _3D = 
             new Integer[][][]{  // dimension 1
                                 {   // dimension 2
                                    {1,2,3},  // dimension 3
                                    {4,5,6},
                                    {7,8,9},
                                    {2,4,5}
                                 },
                                 {  // dimension 2
                                    {1,2,3}, // dimension 3
                                    {4,5,6},
                                    {7,8,9},
                                    {2,4,5}
                                 }
                              }; // right way

Size of array [2][4][3]
Max indices   [1][3][2]
于 2013-11-14T07:36:13.563 に答える