Java 如何查找三维数组索引值

Java 如何查找三维数组索引值,java,arrays,Java,Arrays,我知道三维(3D)阵列可以看作是阵列阵列的阵列。我有int[3][4][2]3Darray,我可以使用for循环初始化它 范例 public class JavaProgram { public static void main(String args[]) { int arr[][][] = new int[3][4][2]; int i, j, k, num=1; for(i=0; i<

我知道三维(3D)阵列可以看作是阵列阵列的阵列。我有int[3][4][2]3Darray,我可以使用for循环初始化它

范例

 public class JavaProgram
    {
       public static void main(String args[])
       {
          int arr[][][] = new int[3][4][2];
          int i, j, k, num=1;

          for(i=0; i<3; i++)
          {
              for(j=0; j<4; j++)
              {
                  for(k=0; k<2; k++)
                  {
                      arr[i][j][k] = num;
                      num++;
                  }
              }
          }

           for(i=0; i<3; i++)
          {
              for(j=0; j<4; j++)
              {
                  for(k=0; k<2; k++)
                  {
                      System.out.print("arr[" +i+ "][" +j+ "][" +k+ "] = " +arr[i][j][k]+ "\t");
                  }
                  System.out.println();
              }
              System.out.println();
          }
       }
    }

我无法找出所有元素的位置,比如矩阵[0][0][0]=1。其他元素的索引值是多少。请任何人帮助我查找

只需像在示例中一样迭代数组,但使用
长度
-属性:

    int[][][] matrix = { { { 1, 2, 3 }, { 4, 5, 6 } }, { { 10, 20, 30 }, { 40, 50, 60 } } };

    for (int i = 0; i < matrix.length; i++)
    {
        for (int j = 0; j < matrix[i].length; j++)
        {
            for (int k = 0; k < matrix[i][j].length; k++)
            {
                System.out.print("matrix[" + i + "][" + j + "][" + k + "] = " + matrix[i][j][k] + "\t");
            }
            System.out.println();
        }
        System.out.println();
    }
int[][]矩阵={{{{1,2,3},{4,5,6},{{10,20,30},{40,50,60};
对于(int i=0;i
如果要访问特定元素,还可以使用
length
确定哪个范围有效。
您可以找到更多信息。

只需像在示例中一样迭代数组,但使用
length
-属性:

    int[][][] matrix = { { { 1, 2, 3 }, { 4, 5, 6 } }, { { 10, 20, 30 }, { 40, 50, 60 } } };

    for (int i = 0; i < matrix.length; i++)
    {
        for (int j = 0; j < matrix[i].length; j++)
        {
            for (int k = 0; k < matrix[i][j].length; k++)
            {
                System.out.print("matrix[" + i + "][" + j + "][" + k + "] = " + matrix[i][j][k] + "\t");
            }
            System.out.println();
        }
        System.out.println();
    }
int[][]矩阵={{{{1,2,3},{4,5,6},{{10,20,30},{40,50,60};
对于(int i=0;i
如果要访问特定元素,还可以使用
length
确定哪个范围有效。 您可以找到更多信息。

这是您的阵列:

int[][][] matrix = { //-------------------Start of your first array contains two elements as 2D array.
                      { //----------First element of First array, which contains two 1D array.
                        { 1, 2, 3 }, //First element of 2D array.
                        { 4, 5, 6 }  //Second element of 2D array.
                      }, //First element of 3D array ends here.
                      { // Second element of 3D array contains 2 1D array.
                        { 10, 20, 30 },
                        { 40, 50, 60 }
                      } 
                    };
现在如果你想得到任何数字的位置,比如我想要20的位置:

  • 20个数字出现在3D阵列的第二个2D阵列中。So矩阵[1]
  • 20个数字出现在2D数组So的第一个1D数组中。矩阵[1][0]
  • 20个数字出现在1D阵列的第二个位置。所以矩阵[1][0][1]
  • 现在,如果你想进行完整的循环。使用length找出用作索引的数组长度

    for (int i = 0; i < matrix.length; i++)
        {
            for (int j = 0; j < matrix[i].length; j++)
            {
                for (int k = 0; k < matrix[i][j].length; k++)
                {
                    System.out.print("[" + i + "][" + j + "][" + k + "] = " + matrix[i][j][k] + "\t");
                }
                System.out.println();
            }
            System.out.println();
        }
    
    for(int i=0;i
    这是您的阵列:

    int[][][] matrix = { //-------------------Start of your first array contains two elements as 2D array.
                          { //----------First element of First array, which contains two 1D array.
                            { 1, 2, 3 }, //First element of 2D array.
                            { 4, 5, 6 }  //Second element of 2D array.
                          }, //First element of 3D array ends here.
                          { // Second element of 3D array contains 2 1D array.
                            { 10, 20, 30 },
                            { 40, 50, 60 }
                          } 
                        };
    
    现在如果你想得到任何数字的位置,比如我想要20的位置:

  • 20个数字出现在3D阵列的第二个2D阵列中。So矩阵[1]
  • 20个数字出现在2D数组So的第一个1D数组中。矩阵[1][0]
  • 20个数字出现在1D阵列的第二个位置。所以矩阵[1][0][1]
  • 现在,如果你想进行完整的循环。使用length找出用作索引的数组长度

    for (int i = 0; i < matrix.length; i++)
        {
            for (int j = 0; j < matrix[i].length; j++)
            {
                for (int k = 0; k < matrix[i][j].length; k++)
                {
                    System.out.print("[" + i + "][" + j + "][" + k + "] = " + matrix[i][j][k] + "\t");
                }
                System.out.println();
            }
            System.out.println();
        }
    
    for(int i=0;i