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 ...
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]);
}
}
}
添加回答
举报