从给定的3D数组中找到数组Index of null

时间:2015-11-16 11:00:21

标签: java arrays multidimensional-array

我有一个3D数组,我能够找到除一个元素"null"之外的所有数组元素的所有索引,即元素"x"之后的那个。

public class StringArrayTest
{

public static void main(String args[])
    {

    String[][][] arr ={
               {
                     { "a", "b" , "c"}, 
                     { "d", "e", null } 
               },
               {
                 {"x"}, null },
                 {{"y"}
               },
               {
                 { "z","p"}, 
                 {} 
               }
            };
    System.out.println(arr[0][1][2]);
    }
}

问题来自一本书,问题本身没有正确缩进,在数组的第二部分(元素x所在的地方)非常混乱。

我能够找到以下元素的索引: -

a:-[0][0][0]
b:-[0][0][1]
c:-[0][0][2]
d:-[0][1][0]
e:-[0][1][1]
null:-[0][1][2]

x:-[1][0][0]
null:-Not able to find

Y:-[2][0][0]

z:-[3][0][0]
p:-[3][0][1]

第二个null的索引值是什么,请解释你的答案。

2 个答案:

答案 0 :(得分:3)

第二个空的索引是[1][1]。它是第二行的第二个元素。

第二行的第一个元素是{"x"}数组,其索引为[1][0](" x"该数组中的字符串为[1][0][0]的索引),null紧随其后。

arr[1][1]会返回null

至于你要求的表格(我希望我没有任何拼写错误):

arr[0] => [0] => [0] => "a"
                 [1] => "b"
                 [2] => "c"
          [1] => [0] => "d"
                 [1] => "e"
                 [2] => null
arr[1] => [0] => [0] => "x"
          [1] => null
arr[2] => [0] => [0] => "y"
arr[3] => [0] => [0] => "z"
                 [1] => "p"
          [1] => []

答案 1 :(得分:1)

在java中,多维数组是使用嵌套数组创建的。一个包含另一个数组的数组,形成一个二维数组。 Java的数组实现与一般不同。因此,您无法找到的空值具有索引(1,1)。这是二维的,因为第三维数组只是二维数组的值,并且为空。