//5.使用集合类完成摇奖功能,从1-33中取出7个随机数,存入集合类(元素不能重复),按照从大到小顺序排列.
时间: 2024-03-23 11:43:00 浏览: 63
中奖问题,随机产生7个数,注意不能重复
5星 · 资源好评率100%
好的,以下是使用集合类完成摇奖功能的 Java 代码示例:
```java
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.Random;
public class Lottery {
public static void main(String[] args) {
HashSet<Integer> lotteryNumbers = new HashSet<>();
Random random = new Random();
// 从1-33中取出7个随机数,存入集合类(元素不能重复)
while (lotteryNumbers.size() < 7) {
int randomNumber = random.nextInt(33) + 1;
if (!lotteryNumbers.contains(randomNumber)) {
lotteryNumbers.add(randomNumber);
}
}
// 按照从大到小顺序排列
ArrayList<Integer> sortedNumbers = new ArrayList<>(lotteryNumbers);
Collections.sort(sortedNumbers, Collections.reverseOrder());
System.out.println("本期中奖号码为:");
for (int number : sortedNumbers) {
System.out.print(number + " ");
}
}
}
```
运行结果可能如下:
```
本期中奖号码为:
33 27 22 17 11 8 3
```
代码解释:
1. 首先创建一个 HashSet 集合用于存放摇奖出来的号码,因为 HashSet 不允许元素重复,所以可以用它来去重;
2. 使用 Random 类生成随机数,从1-33中取出随机数,并且用 `contains` 方法判断是否已经存在于集合中,如果不存在则添加进去;
3. 集合中的元素不能保证有序,因此需要排序,使用 Collections.sort 方法进行从大到小排序;
4. 最后遍历排序后的集合,输出中奖号码。
阅读全文