使用"java.lang.Math.Random()"生成100个 0.0 到 1.0之间的随机浮点数;
利用刚刚所生成的100个随机浮点数,乱序输出0~99,一共100个不重复的整数。对实现语言不做要求,可以继续使用java,也可以选择自己熟悉的语言。
要求:乱序输出指这100个数的顺序尽量满足随机,整数必须是0到99之间的一位或两位自然数,且输出的100个数中,不能有重复的数。
附加规则:尽量运用排序算法完成任务2,巧妙运用排序算法实现随机浮点数到随机整数转变的酌情加分。
使用"java.lang.Math.Random()"生成100个 0.0 到 1.0之间的随机浮点数;
利用刚刚所生成的100个随机浮点数,乱序输出0~99,一共100个不重复的整数。对实现语言不做要求,可以继续使用java,也可以选择自己熟悉的语言。
要求:乱序输出指这100个数的顺序尽量满足随机,整数必须是0到99之间的一位或两位自然数,且输出的100个数中,不能有重复的数。
附加规则:尽量运用排序算法完成任务2,巧妙运用排序算法实现随机浮点数到随机整数转变的酌情加分。
import java.util.Arrays;
public class HelloWorld {
public static void main(String[] args) {
double[] floatarr = new double[100];
for (int i = 0; i < 100; i++) {
floatarr[i] = Math.random();
}
int[] intarr = new int[100];
for (int i = 0; i < 100; i++) {
intarr[i] = i;
}
// 使用冒泡排序对intarr按照对应下标floatarr中的值进行排序
for (int i = 0; i < 100 - 1; i++) {
for (int j = 0; j < 100 - i - 1; j++) {
if (floatarr[j] > floatarr[j + 1]) {
// 交换floatarr中的值
double temp = floatarr[j];
floatarr[j] = floatarr[j + 1];
floatarr[j + 1] = temp;
// 交换intarr中的值
int tempInt = intarr[j];
intarr[j] = intarr[j + 1];
intarr[j + 1] = tempInt;
}
}
}
// 输出排序后intarr的值
for (int i = 0; i < 100; i++) {
System.out.print(intarr[i] + " ");
}
}
}