您的位置:首页 > 其它

产生n个,从n到n的 不重复随机数集合

2010-12-07 18:21 204 查看
package com;
import java.util.ArrayList;
import java.util.List;
//生成从指定数到指定数的指定个数的不重复的随机数
public class MathUtits {

//产生sumNumber个,从startNumber到endNumber的不重复随机整数集合
public static List<Integer> GetIntMathNumber(int startNumber,int endNumber,int sumNumber){
List<Integer> SumNumber = new ArrayList<Integer>();

while(SumNumber.size() < sumNumber){
Integer num = null;
if(endNumber - startNumber < 10){
num = (int)Math.round(Math.random()*10);
}else{
num = (int)Math.round(Math.random()*(endNumber-startNumber)+startNumber);
}
if(!SumNumber.contains(num)){
SumNumber.add(num);
//System.out.println(num);
}
}
return SumNumber;
}

//产生sumNumber个,从startNumber到endNumber的不重复随机浮点数集合
public static List<Double> GetDoubleMathNumber(double startNumber,double endNumber,int sumNumber){
List<Double> SumNumber = new ArrayList<Double>();

while(SumNumber.size() < sumNumber){
Double num = null;
if(endNumber - startNumber < 10){
num = (double)Math.round(Math.random()*10);
}else{
num = (double)Math.round(Math.random()*(endNumber-startNumber)+startNumber);
}
if(!SumNumber.contains(num)){
SumNumber.add(num);
//System.out.println(num);
}
}
return SumNumber;
}

/**
* @param args
*/
public static void main(String[] args) {
GetIntMathNumber(1,15,6);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: