用随机数填充我的数组?

我在测试类中将随机数放入数组时遇到了麻烦。 代码在java中。 我无法单独完成,因为最终我必须使用多达600个值来填充数组。 这是测试类:

import java.util.Random; public class test { /** * @param args */ public static void main(String[] args) { int size = 1000; int max = 5000; int[] array = new int[size]; int loop = 0; Random generator = new Random(); //Write a loop that generates 1000 integers and //store them in the array using generator.nextInt(max) generator.nextInt(max); //generating one //I need to generate 1000 //So I need some kind of loop that will generate 1000 numbers. for (int i =0; i<1000; i++) { generator.nextInt(max); } /** * After I do this, I'll have the array, array. * Then comes what's under this. * THat method is for measuring the time. * System.currentTimeMillis();, * with this, I can collect a time for the start of the method * and one for the end. * Time at the end, minus the time at the start * gets us the running time. */ long result; long startTime = System.currentTimeMillis(); sort.quickSort(array, 100, array.length-1); long endTime = System.currentTimeMillis(); result = endTime-startTime; System.out.println("The quick sort runtime is " + result + " miliseconds"); long result2; long startTime2 = System.currentTimeMillis(); sort.partition(array, 100, array.length-1); long endTime2 = System.currentTimeMillis(); result2 = endTime2 - startTime2; System.out.println("The partition runtime is "+result2 + " miliseconds"); long result3; long startTime3 = System.currentTimeMillis(); sort.bubbleSort(array, 100); long endTime3 = System.currentTimeMillis(); result3 = endTime3-startTime3; System.out.println("The bubble sort runtime is "+result3 + " miliseconds"); long result4; long startTime4 = System.currentTimeMillis(); sort.selectionSort(array, 100); //change the second number to change //the size of an array. long endTime4 = System.currentTimeMillis(); result4 = endTime4-startTime4; System.out.println("The selection sort runtime is "+result4 + " miliseconds"); } } 

我已经完成了测试类和它调用函数的另一个类,并且没有错误。 我只需要以某种方式将随机值放入数组中。 任何建议将不胜感激。

如果您查看代码,您可以看到我已经创建了一个小函数来自己生成数字。 我只是不知道如何做到这一点,以便数字将进入一个数组。

您只需更改循环内的行以将随机数分配给数组的当前索引。

 array[i] = generator.nextInt(max); 

查看Arrays教程线程,了解有关创建,初始化和访问数组所需的所有信息。

顺便说一下,你的循环条件应该达到size ,而不是重复1000

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

从1.8开始

 Arrays.setAll(array, i -> { return generator.nextInt(max); }); 

这将使用0(包括)和max (不包括)之间的随机数填充数组。

进一步阅读: Arrays类和IntUnaryOperator接口

说完了,我更喜欢使用Bill the Lizard提供的方法,使用循环来初始化每个值。