java—如何在不重复列表成员的情况下获得从1到10的10个数字的随机列表

w1e3prcc  于 2021-08-20  发布在  Java
关注(0)|答案(1)|浏览(521)

此问题已在此处找到答案

创建无重复的随机数(20个答案)
6天前关门。
我正在尝试写一个方法,它可以得到一个从1到10的数字列表,其中不会有重复的数字。此外,成员不能为零。然而,在多次尝试后,我未能解决问题,以下是我的代码:

  1. public ArrayList<Integer> dobijNiz() {
  2. int min = 1;
  3. int max = 10;
  4. ArrayList<Integer> lista = new ArrayList<Integer>();
  5. Random random = new Random();
  6. for (int i = 0; i < 11; i++) {
  7. int broj = random.nextInt((max - min) + 1) + min;
  8. lista.add(broj);
  9. }
  10. System.out.println(lista);
  11. return lista;
  12. }

输出:

  1. [2, 3, 3, 3, 4, 6, 10, 8, 2, 7, 9]

我忘了说。洗牌不起作用

fv2wmkja

fv2wmkja1#

将所有可能的数字添加到arraylist中,然后使用 Collections.shuffle 重新排列列表。

  1. int min = 1;
  2. int max = 10;
  3. ArrayList<Integer> lista = new ArrayList<Integer>();
  4. for (int i = min; i <= max; i++) {
  5. lista.add(i);
  6. }
  7. Collections.shuffle(lista);

相关问题