public class NumberUtil {
public static void main(String[] args) {
//0-10之内,随机取五个数
List<Integer> integers = randomCommon(0,10,5);
if(integers!=null&&integers.size()!=0){
for(int i : integers){
System.out.println(i);
}
}else{
System.out.println("kong");
}
}
/**
* 随机指定范围内N个不重复的数
* @param min 指定范围最小值
* @param max 指定范围最大值
* @param n 随机数个数
* @return
*/
public static List<Integer> randomCommon(int min , int max , int n){
List<Integer> integers = new ArrayList<Integer>();
if(min < 0){
min = 0;
}
if((max-min)+1 < n){
n = (max-min)+1;
}
if(max < min){
max = min;
}
if( max<0 || n<0 ){
return integers;
}
for(int i = 1 ; i <= n ; i++){
int randomNumber = (int) Math.round(Math.random()*(max-min)+min);
if(integers.contains(randomNumber)){
i--;
continue;
}else{
integers.add(randomNumber);
}
}
return integers;
}
}
[算法]随机取指定范围内N个不重复的数
最新推荐文章于 2022-03-14 10:55:12 发布
本文介绍如何在指定范围内生成N个互不重复的随机数,主要涉及算法设计与编程实现,包括Java、JavaScript等语言的示例代码,适用于网页应用和iOS开发中的随机数生成需求。
2222

被折叠的 条评论
为什么被折叠?



