怎么用Java利用Random类产生10个1到100间的整数放到数组中,并将数组中元素降序排序后输出?

怎么用Java利用Random类产生10个1到100间的整数放到数组中,并将数组中元素降序排序后输出?

import java.util.Random;
import java.util.Arrays;

public class RandomArray {
    public static void main(String[] args) {
        Random random = new Random();
        int[] array = new int[10];

        for (int i = 0; i < array.length; i++) {
            array[i] = random.nextInt(100) + 1; // 产生1到100的随机整数
        }

        System.out.println("随机生成的数组:");
        System.out.println(Arrays.toString(array));

        Arrays.sort(array); // 升序排序
        reverseArray(array); // 降序排序

        System.out.println("降序排序后的数组:");
        System.out.println(Arrays.toString(array));
    }

    public static void reverseArray(int[] array) {
        int left = 0;
        int right = array.length - 1;

        while (left < right) {
            int temp = array[left];
            array[left] = array[right];
            array[right] = temp;

            left++;
            right--;
        }
    }
}

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这篇博客: java实现随机获取给定数组中某一个值中的 1、java Random随机操作对象 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
    Random random = new Random();
    //随机产生0-9当中的一个随机整数
    int num = random.nextInt(10);
    
  • 以下回答来自chatgpt:

    要解决这个问题,我们可以使用Java中的Random类生成10个1到100之间的随机整数,并将它们存储在一个数组中。然后,我们可以使用Java的Arrays类对数组进行排序,按照降序排列。最后,我们将排序后的数组输出。下面是具体的解决方案:

    首先,我们创建一个大小为10的整型数组来存储随机数,并创建一个Random对象来生成随机数。代码示例如下:

    import java.util.Arrays;
    import java.util.Random;
    
    public class RandomArrayExample {
        public static void main(String[] args) {
            int[] array = new int[10];
            Random random = new Random();
    
            for (int i = 0; i < array.length; i++) {
                array[i] = random.nextInt(100) + 1;
            }
    
            System.out.println("原始数组: " + Arrays.toString(array));
        }
    }
    

    在上面的代码中,我们使用random.nextInt(100) + 1生成1到100之间的随机整数,并将其赋值给数组的每个元素。

    接下来,我们可以使用Java的Arrays类对数组进行排序,按照降序排列。代码示例如下:

    Arrays.sort(array);
    int[] descendingArray = new int[array.length];
    
    for (int i = 0; i < array.length; i++) {
        descendingArray[i] = array[array.length - 1 - i];
    }
    
    System.out.println("降序排列后的数组: " + Arrays.toString(descendingArray));
    

    在上面的代码中,我们首先使用Arrays.sort(array)对数组进行升序排序。然后,我们创建一个大小与原始数组相同的新数组descendingArray。我们通过遍历升序排序后的数组,并将元素倒序赋值给新数组来实现降序排列。

    最后,我们将排序后的数组输出。代码示例如下:

    System.out.println("降序排列后的数组: " + Arrays.toString(descendingArray));
    

    将上述三部分代码组合起来,完整的解决方案如下:

    import java.util.Arrays;
    import java.util.Random;
    
    public class RandomArrayExample {
        public static void main(String[] args) {
            int[] array = new int[10];
            Random random = new Random();
    
            for (int i = 0; i < array.length; i++) {
                array[i] = random.nextInt(100) + 1;
            }
    
            System.out.println("原始数组: " + Arrays.toString(array));
    
            Arrays.sort(array);
            int[] descendingArray = new int[array.length];
    
            for (int i = 0; i < array.length; i++) {
                descendingArray[i] = array[array.length - 1 - i];
            }
    
            System.out.println("降序排列后的数组: " + Arrays.toString(descendingArray));
        }
    }
    

    运行以上代码,你将得到一个输出类似以下结果的数组:

    原始数组: [24, 63, 33, 10, 50, 87, 37, 23, 73, 34]
    降序排列后的数组: [87, 73, 63, 50, 37, 34, 33, 24, 23, 10]
    

    希望这个解决方案对你有帮助!如果有任何疑问,请随时提问。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^