为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 Arrays.sort 输出

如何使用 Arrays.sort 输出

慕森卡 2021-12-22 15:55:12
我正在尝试使用 Arrays.sort 按升序和降序打印 10,000 个随机数,然后输出它。如果我这样尝试,它不会给出正确的输出。import java.util.*;import java.util.Random;public class QuestionFour {    public static void main(String[] args)     {        int arr[] = new int[10000];        Random rand = new Random();        for (int i=0; i<10000; i++)        {            arr[i] = rand.nextInt( 100 ) + 1;            Arrays.sort(arr);            System.out.println(arr);        }    }}
查看完整描述

2 回答

?
慕仙森

TA贡献1827条经验 获得超8个赞

Arrays.sort()与输出没有任何关系,它只是sorts一个数组


让你的循环填充数组,之后,sort和print它与Arrays.toString()


int arr[] = new int[10000];

Random rand = new Random();


for (int i=0; i<10000; i++){

    arr[i] = rand.nextInt( 100 ) + 1;

}

Arrays.sort(arr);

System.out.println(Arrays.toString(arr));

逆序排序:


您可以使用Arrays.sort(arr, Comparator.reverseOrder());,但这需要一个对象数组,它需要一个Integer arr[] = new Integer[10000];而不是int


使用 aList<Integer>而不是 en 数组,它会更容易操作


List<Integer> list = new ArrayList<>();

Random rand = new Random();

for (int i = 0; i < 10000; i++) {

    list.add(rand.nextInt(100) + 1);

}

list.sort(Comparator.reverseOrder());

System.out.println(list);             //[100, 100, 100, 100, 100, 100, 100, 100 ... 


查看完整回答
反对 回复 2021-12-22
?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

您需要Arrays.sort(arr);在 for 循环之外放置并创建另一个循环以在排序后打印数组。您的代码应如下所示:


import java.util.*;

import java.util.Random;


public class QuestionFour 

{

    public static void main(String[] args) 

    {

        int arr[] = new int[10000];

        Random rand = new Random();


        for (int i=0; i<10000; i++)

        {

            arr[i] = rand.nextInt( 100 ) + 1;


        }


        Arrays.sort(arr);


        for (int i = 0; i < arr.length; i++) {


            System.out.println(arr[i]);

        }

    }


}


查看完整回答
反对 回复 2021-12-22
  • 2 回答
  • 0 关注
  • 205 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信