运行截图
Q:如何在1~31范围内生成100000个不重复的随机数?
所需知识:Random的使用:1.调包 2.实例化 Random AAA = new Random();
3.创建 AAA.nextInt(x)+y;//表示[ y , x+y-1 ]范围
import java.util.Random;//调包
public class Test1 {
public static void main(String[] args) {
long start = System.currentTimeMillis();
int[] arr = new int[100000];
Random rand = new Random();
/* Random AAA = new Random();
AAA.nextInt(x)+y;表示[0,x)+1 左闭右开
即表示获取随机数范围[1,x] 闭区间
*/
}
/*********************可替换为下一页的代码*************************/
label: for (int i = 0; i < 100000; i++) {
arr[i] = rand.nextInt(30) + 1;
for (int j = 0; j < i; j++) {//消除重复
if (arr[j] == arr[i]) {
continue label;
}
}
}
/*********************可替换为下一页的代码*************************/
System.out.println("生成100000个在1~30范围不重复的随机数");
for (int i = 0; i < 100000; i++) {
System.out.println(arr[i]);
}
long end = System.currentTimeMillis();
System.out.println("用时" + (end - start) + "ms");
}
}