下面是我抛出错误的代码:
Cannot invoke size() on the array type int[]
代码:
public class Example{
int[] array={1,99,10000,84849,111,212,314,21,442,455,244,554,22,22,211};
public void Printrange(){
for (int i=0;i<array.size();i++){
if(array[i]>100 && array[i]<500)
{
System.out.println("numbers with in range ":+array[i]);
}
}
即使我尝试使用array.length()
它也会犯同样的错误。当我使用与string_name.length()
相同的工作正常时。
为什么它不适用于整数数组?
答案 0 :(得分:27)
数组的长度可以
int l = array.length;
List
的大小可用
int s = list.size();
答案 1 :(得分:0)
size()
没有方法调用array
。你可以使用array.length
答案 2 :(得分:0)
数组有
array.length
而List有
list.size()
将array.size()
替换为array.length
答案 3 :(得分:0)
public class Test {
int[] array = { 1, 99, 10000, 84849, 111, 212, 314, 21, 442, 455, 244, 554,
22, 22, 211 };
public void Printrange() {
for (int i = 0; i < array.length; i++) { // <-- use array.length
if (array[i] > 100 && array[i] < 500) {
System.out.println("numbers with in range :" + array[i]);
}
}
}
}
答案 4 :(得分:0)
整数数组不包含size()或length()方法。试试下面的代码吧,它会起作用。 ArrayList包含size()方法。字符串包含length()。因为你使用了int array [],所以它将是array.length
public class Example {
int array[] = {1, 99, 10000, 84849, 111, 212, 314, 21, 442, 455, 244, 554, 22, 22, 211};
public void Printrange() {
for (int i = 0; i < array.length; i++) {
if (array[i] > 100 && array[i] < 500) {
System.out.println("numbers with in range" + i);
}
}
}
}
答案 5 :(得分:0)
我们可以使用array_name.length属性
找到数组的长度int [] i = i.length;