[英]array length on multidimensional arrays
对于以下代码
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.println(veggies.length);
打印出 4 因为有 4 个元素。
System.out.println(fruits.length);
打印出来 2,为什么? 应该不是 9,因为有 9 个元素。
要打印多维 (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);
fruits
,就像你说的,是一个多维数组,或者只是一个数组数组。 在你给出的例子中,fruits 里面有 2 个数组,因此他的长度是 2。
如果你想知道有多少“成果”都在里面,我建议你总结里面每个数组的长度fruits
。
fruits.length
只为您提供水果中存储的元素数量。 那是多少? 只有两个。 水果包含两个元素。 它们恰好是包含其他项目的数组:
{"orange", "pear", "banana", "pinapple" "grape"}
{"apple", "kiwi", "strawberry", "plum"}
因此,要获取每个数组的长度:
fruits[0].length
fruits[1].length
Fruits 是一个二维数组,fruits.length 只给你第一维的长度。
水果[0].长度+水果[1].长度会给你9然后
这是因为fruits
在该数组中存储了两个数组,第一个长度为 5,第二个长度为 4。如果您只是调用:
System.out.println(fruits.length);
它将返回该数组(2 个数组)中对象的长度。
如果你想获得中第一个数组的长度fruits
,你会打电话
System.out.println(fruits[0].length);
,
这将打印出 5. 如果你要打电话
System.out.println(fruits[1].length);
,
它将打印出 4。
因为, fruits
是一个二维数组。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.