有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java数字[x]给出了不正确的输出,我不明白为什么

myList.removeAll(Arrays.asList(Integer.valueOf(0)));
numbers = myList.toArray(new Integer[myList.size()]);  
Collections.sort(myList);
Collections.reverse(myList);
System.out.println(myList);
for(it x = 0; x < myList.size(); x++){
System.out.println(numbers[x]);
System.out.println(x);

假设变量是24,22,15,10。输出是这样的 22 0 24 1. 10 二,

其他时候,它的顺序是正确的。为什么呢?如果你需要看更多的代码,请随意询问和道歉,这是我第一次在这个网站上发布,我也在我的手机上发布,因为我的家庭网络已断开


共 (1) 个答案

  1. # 1 楼答案

    我认为您的问题是,在排序和反转之前,您正在分配数字数组。修复应该如下所示

            int[] numbers =  {24, 15, 22, 10};
            List<Integer> listNumbers = new ArrayList();
            for (int i = 0; i < numbers.length; i++) {
                listNumbers.add(numbers[i]);
            }
            Collections.sort(listNumbers);
            Collections.reverse(listNumbers);
            Integer[] newNumbersArray = listNumbers.toArray(new Integer[listNumbers.size()]);
            for (int i = 0; i < newNumbersArray.length; i++) {
                System.out.println(newNumbersArray[i]);
            }