-3

我是 Java 的初学者,我在练习时正在观看教学视频。

然而,程序中的代码在 Eclipse IDE 上不起作用并弹出 2 个错误,我试图找出原因。

import java.util.Arrays;

public class Arrays {
    public static void main(String[] args) {
        int[] numbers = new int[5];

        numbers[0] = 31;
        numbers[1] = 88;
        numbers[2] = 11;
        numbers[3] = 73;
        numbers[4] = 45;

        int[] numbers2 = {99, 1, 2, 3, 4};
        Arrays.sort(numbers);
        System.out.println(Arrays.toString(numbers));
    }
}

我的最后两行显示以下内容:

  1. 该类型的方法sort(int[])未定义Arrays
  2. toString()类型中的方法Object不适用于参数 ( int[])

我误解了一些简单的事情吗?

4

1 回答 1

0

您必须更改类的名称,因为该类Arrays已经是 java API 的一部分,这会造成混淆

import java.util.Arrays;

public class OtherNameThanArrays {

    public static void main(String[] args) {

        int[] numbers = new int[5];

        numbers[0] = 31;
        numbers[1] = 88;
        numbers[2] = 11;
        numbers[3] = 73;
        numbers[4] = 45;

        int[] numbers2 = {99, 1, 2, 3, 4};

        Arrays.sort(numbers);
        Arrays.sort(numbers2);

        System.out.println(Arrays.toString(numbers));
        System.out.println(Arrays.toString(numbers2));
    }


}

如果我可以允许自己在这里是第二种方法来对列表进行排序而不是表:

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;

public class OtherNameThanArrays {

    public static void main(String[] args) {

        ArrayList<Integer> numbers1 = new ArrayList<>(Arrays.asList(31,88,11,73,45));
        ArrayList<Integer> numbers2 = new ArrayList<>(Arrays.asList(99,1,2,3,4));
        Collections.sort(numbers1);
        Collections.sort(numbers2);
        System.out.println(numbers1);
        System.out.println(numbers2);

    }
}

两种方法的控制台输出:

[11, 31, 45, 73, 88]
[1, 2, 3, 4, 99]
于 2020-01-09T18:31:27.710 回答