...注意是不同的随机数哦,谁能用最少的代码帮我一下

发布网友 发布时间:2024-10-24 00:46

我来回答

5个回答

热心网友 时间:2024-11-09 22:16

2种写法:
1、分5个不同区间,每个区间20个值,随机取每个区间的一个值
2、随机取0-100的5个数, 每取一个,就放到set中。直到set的size等于5就停止、
给你方法2的代码:
HashSet<Integer> hs = new HashSet<Integer>(); //hashset里面不允许有重复的值,如果有重复的值,是插不进去的(不会覆盖)
Random r = new Random();
while(hs.size()<5)
{
hs.add(r.nextInt(100));
}

热心网友 时间:2024-11-09 22:18

假设你要的精度是整数而已的话可以生成一个double然后取小数点后1~10位,每两位代表一个数(0~99)。这样比较快。

热心网友 时间:2024-11-09 22:14

用List或者数组保存
用do-while来取

热心网友 时间:2024-11-09 22:16

/**
* 生成n个small-big的不重复随机数字
*
* @param n
* 随机数字个数
* @param n
* 随机数字个数
* @return 随机数字数组
*/
public static int[] generateDifNums(int n, int small, int big) {

int length = big - small + 1;
int[] seed = new int[length];
for (int i = 0; i < length; i++) {
seed[i] = small + i;
}
int[] ranArr = new int[n];
Random ran = new Random();
for (int i = 0; i < n; i++) {
int j = ran.nextInt(length - i);
ranArr[i] = seed[j];
seed[j] = seed[length - 1 - i];

}
return ranArr;
}

学java的可以加入我的团队“java大牛”

热心网友 时间:2024-11-09 22:19

Set<Integer> set = new HashSet<Integer>();
for (int i = 0; i < 5;) {
if (set.add((int)(Math.random()*100+1)))
i++;
}
System.out.println(set);

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com