尝试学习和练习数组,但我对这个小例子有疑问。有人可以帮我吗?谢谢
public class Homework1{
public static void main(String[] args){
int[] anArray={ 1,2,3,4,5,6,7,8,9};
System.out.println(anArray.length);
int min=0;
int max=0;
for(int i=0; i<anArray.length; i++){
if(anArray[i].compareTo(anArray[min]) < 0)
min=i;
if(anArray[i].compareTo(anArray[max]) > 0)
max=i;
}
System.out.println(max);
System.out.println(min);
}
}
我收到此错误消息:
int cannot be dereferenced
if(anArray[i].compareTo(anArray[min]) < 0)
int cannot be dereferenced
if(anArray[i].compareTo(anArray[max]) > 0)
谢谢。
最佳答案
表达式anArray[i]
的类型是int
。 int
是原始类型,这意味着它不是“真正的”对象。您不能在原始类型上调用方法(如 compareTo()
)。
但是,您可以调用 Integer
类型的方法,它是对应于 int
的“装箱”类型。 (装箱类型是当您需要将原始类型视为对象时用作包装器的类型。)
只需对整数类型使用常规比较运算符:
if (anArray[i] < anArray[min]) {
//...
}
关于java - 小阵列有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9541948/