首页 > 解决方案 > Arrays.sort 函数如何工作?

问题描述

我是 Java 编程新手,我正在尝试使用Arrays.sort()函数对数组进行排序。使用Arrays.sort(array)后,我正在打印最终的排序数组。

例如:

输入:1 3 2 4

输出为: 0 0 0 0

import java.io.*;
import java.util.Scanner;
import java.util.Arrays;
public class TestClass {
     public static final int MAX_SIZE = 20;
     public static void main(String[] args) { 
        Scanner input = new Scanner(System.in);
        int n,temp,count;
        int[] array = new int[MAX_SIZE]; 
        n = input.nextInt();
        for(int i = 0 ; i < n ; ++i) {
          array[i] = input.nextInt(); 
        }
       Arrays.sort(array);
        for(int i = 0 ; i < n ; ++i) {
          System.out.print(array[i]+" ");
        }
    }
}

标签: javaarrayssorting

解决方案


您已将数组初始化为包含 20 个整数,但您只输入了 5 个。因此,前 15 个元素将是 0,然后是数组排序后输入的数字。

要解决此问题,您可以使用n而不是MAX_SIZE如下所示初始化数组:-

n = input.nextInt();
int[] array = new int[n];

推荐阅读