temp.compareTo错误。 Int不能被解除引用

时间:2015-08-27 16:06:50

标签: java sorting int dereference

我正在尝试创建一个按升序排序五个整数的程序。我之前从未遇到过一个被解除引用的错误,所以我很好奇我做错了什么。

           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) 

谢谢!

2 个答案:

答案 0 :(得分:1)

temp

是int类型,没有方法。你应该写

if(temp < tempB)

答案 1 :(得分:1)

您无法在compareTo原始类型)上调用int方法。

使用:

if(temp < tempB)