Arrays.sort函数如何工作?

Ayu*_*sh -1 java arrays sorting

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

例如:

输入: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]+" ");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Nic*_*s K 9

您已初始化数组以保存20个整数,但您只输入5.因此,前15个元素将为0,后跟数组排序后输入的数字.

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

n = input.nextInt();
int[] array = new int[n];
Run Code Online (Sandbox Code Playgroud)