1、获取num个不大于range的随机数
class="java" name="code">
/**
* 根据随机数个数和大小范围获取随机数list
* @param num 要得到的个数
* @param range 大小范围
* @return
*/
private List<Integer> getRandomInt(int num,int range){
Set<Integer> set = new HashSet<Integer>();
Random random = new Random();
while (set.size() < num) {//取得num个
set.add(random.nextInt(range));//0-range范围数据
}
Iterator<Integer> it = set.iterator();
List<Integer> suit=new ArrayList<Integer>();
for(;it.hasNext();){
suit.add(it.next());//切记不能两个一起添加,这样会认为迭代2次,会报异常错误:NoSuchElementException
}
return suit;
}
2、获取一个
方法1 (数据类型)(最小值+Math.random()*(最大值-最小值+1)) 例: (int)(1+Math.random()*(10-1+1)) 从1到10的int型随数 方法2 获得随机数 for (int i=0;i<30;i++) {System.out.println((int)(1+Math.random()*10));} (int)(1+Math.random()*10) 通过java.Math包的random方法得到1-10的int随机数 公式是:最小值---最大值(整数)的随机数 (类型)最小值+Math.random()*最大值 方法3 Random ra =new Random(); for (int i=0;i<30;i++) {System.out.println(ra.nextInt(10)+1);} 通过java.util包中的Random类的nextInt方法来得到1-10的int随机数