Java 多维数组上的数组长度
对于下面的代码Java 多维数组上的数组长度,java,multidimensional-array,Java,Multidimensional Array,对于下面的代码 public static void main(String[] args) { String[][] fruits = {{"orange", "pear", "banana", "pinapple" "grape"}, {"apple", "kiwi", "strawberry", "plum"}}; String[] veggies = {"okra","pumpkin", "spinach", "brockoli"
public static void main(String[] args)
{
String[][] fruits = {{"orange", "pear", "banana", "pinapple" "grape"},
{"apple", "kiwi", "strawberry", "plum"}};
String[] veggies = {"okra","pumpkin", "spinach", "brockoli"};
System.out.println(fruits.length);
System.out.println(veggies.length);
}
System.out.printlnveggies.length;打印出4,因为有4个元素
System.out.println.length;打印2张,为什么?它不应该是9,因为有9个元素。因为它是一个二维数组 正如您所说,水果是一个多维数组,或者只是一个数组数组。
在您给出的示例中,fruits包含2个数组,因此其长度为2。
如果你想知道里面有多少水果,我建议你把水果里面每个数组的长度加起来 fruits.length仅提供存储在水果中的元素数量。那是多少?只有两个。水果包含两种元素。它们恰好是包含其他项的数组:
{"orange", "pear", "banana", "pinapple" "grape"}
{"apple", "kiwi", "strawberry", "plum"}
因此,要获得每个数组的长度:
fruits[0].length
fruits[1].length
fruits是一个二维数组,fruits.length仅提供第一维的长度 水果[0]。长度+水果[1]。长度将为9,因为水果在该数组中存储了两个数组,第一个数组长度为5,第二个数组长度为4。 如果你只是打电话: System.out.println.length 它将返回该数组中的对象的长度 如果您想获得水果中第一个数组的长度,可以调用 System.out.printlnfruits[0]。长度 它将打印出5个。如果你打电话 System.out.printlnfruits[1]。长度
它将打印出4。要打印多维n数组的长度,您应该使用n个循环 因此,您应该使用:
String[][] fruits = {{"orange", "pear", "banana", "pinapple" "grape"},
{"apple", "kiwi", "strawberry", "plum"}};
int length = 0;
for(int i=0;i<fruits.length;i++){
length += fruits[i].length;
}
System.out.println(length);
结果[0]。长度将返回5,结果[1]。长度将返回4否,多维数组是数组的数组。因此它返回2是合乎逻辑的,因为它是数组中的数组数。也许更好:s/multi/two/two-dimensions!=两个元素数组是二维的这一事实并不能解释为什么它打印出2-你的陈述令人困惑。