从网上找到的,原方法生成的随机数数量会比指定的小,在循环中加入判断后正常 public static void randomSet(int min, int max, int n, HashSet<Integer> set) { if (n > (max - min + 1) || max < min) { return; } for (int i = 0; i < n; i++) { if(set.size()==n){ break; } // 调用Math.random()方法 int num = (int) (Math.random() * (max - min)) + min; set.add(num);// 将不同的数存入HashSet中 } // 如果存入的数小于指定生成的个数,则调用递归再生成剩余个数的随机数,如此循环,直到达到指定大小 if (set.size() < n) { randomSet(min, max, n, set);// 递归 } }
随机生成指定范围、数量的随机数方法
猜你喜欢
转载自blog.csdn.net/weixin_42348845/article/details/87911205
今日推荐
周排行