由来
2022年11月1日
实验室举办了一个“每日一题”的算法活动,我负责出题,今天出第二天的题目,是一个数组排序的题目,为了保证测试程序的正确性,需要测试大量的数据,如果手动来生成测试数据的话,那不得累死而且数据可用性不大。
我想到了写一个程序来生成随机数据,应题目的要求,生成一个无序的数组且元素不能重复,在网上搜了一下,发现网上的答案好乱,但整体的思路是有了
源程序
思路:利用Java中的Random类来随机生成数据,同时利用Set集合的特性来存储这些数据。
看代码
import java.util.HashSet;
import java.util.Random;
import java.util.Scanner;
/**
* @ClassName : RandomArray //类名
* @Description : 生成随机数组 //描述
* @Author : 刘明凯的专属computer //作者
* @Date: 2022/11/1 0001 19:16
*/
public class RandomArray {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Random random = new Random();
// size表示生成数据的多少
int size = sc.nextInt();
HashSet<Integer> set = new HashSet<>();
int temp;
while(size-- > 0) {
boolean f = false;
while(!f){
temp = random.nextInt(1000);
f = set.add(temp);
}
}
for (Integer t : set) {
System.out.print(t + " ");
}
}
}