获取100 个 1-20之间的随机数,不重复
package todayHw;
/*
获取100 个 1-20之间的随机数,不重复
*/
public class Todo2 {
public static void main(String[] args) {
double[] arr = new double[100];
for (int i = 0; i < 100; i++) {
// 产生一个随机数
double temp = produceARandNum();
// System.out.println(temp);
// 判断是否重复
while (SearchDup(arr, temp)) {
temp = produceARandNum();
System.out.println("消除了一个重复值");
}
// 不重复的时候,开始赋值
arr[i] = temp;
}
showArr(arr);
}
// 生成一个保留2位的随机数
public static double produceARandNum() {
// return ((double) Math.round( * 100) / 100 + 1);
// return ((double) Math.round( Math.random()*20* 100) / 100 );
return ((double) Math.round(Math.random() * 20 * 100) / 100);
}
// 查找重复值
public static boolean SearchDup(double[] arr, double temp) {
// false 是不重复
// true 是重复
boolean flag = false;
for (int j = 1; j < arr.length; j++) {
if (temp == arr[j]) {
System.out.println("有重复值" + temp);
flag = true;
break;
}
}
return flag;
}
// 打印数组
public static void showArr(double[] arr) {
/*
for (double i : arr) {
System.out.println(i + " ");
}
*/
/*
for (int i = 0; i < arr.length; i++) {
if (i % 10 == 0) {
System.out.println("");
}
System.out.print(arr[i] + " ");
}*/
for (int i = 0; i < arr.length; i++) {
System.out.println((i + 1) + " " + arr[i]);
}
}
}