我正在尝试创建一个按升序排序五个整数的程序。我之前从未遇到过一个被解除引用的错误,所以我很好奇我做错了什么。
Scanner input = new Scanner(System.in);
int[] a = new int[5];
for (int i = 0; i < 5; i++) {
System.out.println("Please enter integer # "+ 1 + i);
int temp = input.nextInt();
a[i] = temp;
}
System.out.println("Sorted from lowest to highest");
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
int temp = a[i];
int tempB = a[j];
if (temp.compareTo(tempB) < 0) {
a[i] = tempB;
a[j] = temp;
}
}
}
for (int i = 0; i < 5; i++) {
System.out.println(a[i]);
}
}
}
我收到了这一行的错误。
if (temp.compareTo(tempB) < 0)
谢谢!
答案 0 :(得分:1)
temp
是int类型,没有方法。你应该写
if(temp < tempB)
答案 1 :(得分:1)
您无法在compareTo
(原始类型)上调用int
方法。
使用:强>
if(temp < tempB)