-3

有没有办法让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. 标题

`##

4

1 回答 1

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
}
于 2013-11-13T04:39:45.913 回答