编写一个程序,实现36选7,选出来的7个数不能重复,要求用List集合来完成
时间: 2024-09-18 09:17:08 浏览: 33
编写一个使用Java语言的程序来生成不重复的36选7的组合,我们可以使用List集合和HashSet来帮助我们确保唯一性。以下是简单的示例:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
public class UniqueCombinationGenerator {
private static final int NUM_CHOICES = 36; // 总共36个选择
private static final int SELECTED_CHOICES = 7; // 需要选出7个
public static void main(String[] args) {
List<Integer> numbers = new ArrayList<>();
Set<Integer> uniqueNumbers = new HashSet<>();
while (numbers.size() < SELECTED_CHOICES) { // 循环直到选出7个不重复的数字
int randomNum = getRandomNumber(NUM_CHOICES); // 生成0到35之间的随机数
if (!uniqueNumbers.contains(randomNum)) { // 检查该数字是否已存在
numbers.add(randomNum);
uniqueNumbers.add(randomNum); // 添加到列表和集合
}
}
System.out.println("Selected combination: " + numbers);
}
private static int getRandomNumber(int max) {
return (int)(Math.random() * max);
}
}
```
这个程序首先创建一个空的List和Set。在while循环中,它不断生成随机数,如果这个数不在集合中,则添加到列表和集合中。当列表中有7个元素时,就找到了一组不重复的选择。
阅读全文