Java 如何将此数组按升序排序?

Java 如何将此数组按升序排序?,java,sorting,arraylist,Java,Sorting,Arraylist,我想生成一个由100个数字组成的数组,并找到它们的平均值和和。我能做到这一点,但我不能将数字的输出按升序排列。我对Java非常陌生 import java.util.Random; public class randomNumberGen { public static void main(String [] args) { Random r=new Random(); double sum = 0; // is double so to pre

我想生成一个由100个数字组成的数组,并找到它们的平均值和和。我能做到这一点,但我不能将数字的输出按升序排列。我对Java非常陌生

import java.util.Random;

public class randomNumberGen
{
    public static void main(String [] args)
    {
        Random r=new Random();
        double sum = 0; // is double so to prevent int division later on
        int amount = 100;
        int upperBound = 100;

        for (int i = 0; i < amount; i++){
             int next = r.nextInt(upperBound) + 1; // creates a random int in [1,100]
            System.out.println(next);

            sum += next; // accumulate sum of all random numbers
        }

        System.out.println("Your average is: " + (sum / amount));
        System.out.println("Your sum is: " + (sum));        
    }
}
import java.util.Random;
公共类随机数
{
公共静态void main(字符串[]args)
{
随机r=新随机();
double sum=0;//是double so,以防止以后进行整数除法
整数金额=100;
int上限=100;
对于(int i=0;i
这很容易。但是,我在代码中没有看到任何数组。我为您创建了一个示例代码。你可以请求更多的帮助

public static void main(String[] args) {
    SecureRandom random = new SecureRandom(); // it is better to use this library
    double sum = 0; // is double so to prevent int division later on
    int amount = 100;
    int upperBound = 100;
    int[] array = new int[amount]; // create an array with amount size
    for (int i = 0; i < amount; i++) {
        array[i] = random.nextInt(upperBound) + 1; // creates a random int in [1 , upperBound]
        sum += array[i]; // accumulate sum of all random numbers
    }
    Arrays.sort(array); // sort array in default order which is ascending
    System.out.println(Arrays.toString(array)); // toString is a way to print all of array, without iterate it and print it
    System.out.println("Your average is: " + (sum / amount));
    System.out.println("Your sum is: " + sum);
}
publicstaticvoidmain(字符串[]args){
SecureRandom=new SecureRandom();//最好使用此库
double sum=0;//是double so,以防止以后进行整数除法
整数金额=100;
int上限=100;
int[]数组=新的int[amount];//创建一个具有amount大小的数组
对于(int i=0;i
有很多不同的排序方法。对于初学者,从或开始。插入排序稍微好一点,因为它的平均运行速度稍微快一点。

我建议使用一个特殊集合对数字进行内部排序,而不使用任何排序算法(例如us
PriorityQueue
):

publicstaticvoidmain(字符串[]args){
最终整数金额=100;
Random Random=新的SecureRandom();
Queue Queue=new PriorityQueue(amount,Comparator.naturalOrder());//Comparator.reverseOrder()表示反向顺序
整数和=0;
对于(int i=0;i
您的阵列在哪里?
public static void main(String[] args) {
    final int amount = 100;

    Random random = new SecureRandom();
    Queue<Integer> queue = new PriorityQueue<>(amount, Comparator.naturalOrder());  // Comparator.reverseOrder() for reverse order
    int sum = 0;

    for (int i = 0; i < amount; i++) {
        int val = random.nextInt(100) + 1;
        sum += val;
        queue.add(val);
    }

    System.out.println(Arrays.toString(queue.toArray()));
    System.out.println("Your average is: " + (double)sum / amount);
    System.out.println("Your sum is: " + sum);
}