如何制作没有重复的随机数的println列表?

时间:2013-11-12 23:30:10

标签: java arrays sorting

有没有办法让drawerList()方法查看drawerNumber()的输出并将它们添加到数组中。我想将输出存储到数组列表中,以便找到重复项并打印出两个存储的值,并可能创建一个if else语句,查找随机数的副本并将这些输出标记为“已绘制”这是我的第一个CS的学期和我正在学习阶段,所以我觉得我想要做的是出于我的知识,我不知道该怎么做。

import java.util.Scanner; 


import java.util.Random;

class RandomNumbers{
    public static void main(String [] args){

 System.out.println(drawerNumbers());
}

//drawerNumbers()-draws new numbers



public static int drawerNumbers(){
    Random rand = new Random();
    int num = rand.nextInt(75)+1;
    return num;
}

//  drawerList()- List of numbers drawn
 public static int drawerList(){ //Method.
  String p = Integer.toString(drawerList()); //Convert method into string in order to be put in array
int[] numbers = new int[p.length()]; // creates the array to store the values

//

此后不确定如何将输出列出到控制台以及如何使程序找到重复的随机数。


`

  1. 标题
  2. `##

1 个答案:

答案 0 :(得分:1)

您的目的似乎是随机选择1到75之间的数字而不重复数字。这很容易通过将问题反转为随机排序数字1-75然后迭代它们来完成:

List<Integer> nums = new ArrayList<Integer>(75);
for (int i = 1; i < 75; i++)
    nums.add(i);
Collections.shuffle(nums);

现在它们是随机顺序,只是逐个使用它们:

for (Integer i : nums) {
    // use i
}