java 数组 编程实现双色球抽奖游戏 红球:6个,随机生成1~33中6个不重复的随机号码 蓝球:1个,随机生成1~16中1个随机号码
时间: 2025-01-05 10:41:51 浏览: 14
好的,我可以为您介绍如何使用Java编程实现一个双色球抽奖游戏。双球是一种流行的彩票游戏,规则是选择一组红球号码和1个蓝球号码。以下是一个简单的实现方案:
```java
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
public class DoubleColorBall {
private static final int RED_BALL_COUNT = 6;
private static final int RED_BALL_MAX = 33;
private static final int BLUE_BALL_COUNT = 1;
private static final int BLUE_BALL_MAX = 16;
public static void main(String[] args) {
List<Integer> redBalls = generateRedBalls();
int blueBall = generateBlueBall();
System.out.println("双色球号码:");
System.out.print("红球: ");
printBalls(redBalls);
System.out.println("蓝球: " + blueBall);
}
private static List<Integer> generateRedBalls() {
List<Integer> allRedBalls = new ArrayList<>();
for (int i = 1; i <= RED_BALL_MAX; i++) {
allRedBalls.add(i);
}
Collections.shuffle(allRedBalls);
return allRedBalls.subList(0, RED_BALL_COUNT);
}
private static int generateBlueBall() {
Random random = new Random();
return random.nextInt(BLUE_BALL_MAX) + 1;
}
private static void printBalls(List<Integer> balls) {
Collections.sort(balls);
for (int i = 0; i < balls.size(); i++) {
System.out.print(balls.get(i));
if (i < balls.size() - 1) {
System.out.print(", ");
}
}
}
}
```
这段代码实现了以下功能:
1. 定义了红球和蓝球的数量及范围。
2. `generateRedBalls()` 方法生成红球号码:
- 创建一个包含1到33的列表。
- 使用 `Collections.shuffle()` 方法随机打乱列表顺序。
- 取前6个元素作为红球号码。
3. `generateBlueBall()` 方法使用 `Random` 类生成1到16之间的随机数作为蓝球号码。
4. `printBalls()` 方法用于打印红球号码,会先对号码进行排序。
5. 在 `main()` 方法中,我们生成号码并打印结果。
运行这段代码,您将得到一组随机的双色球号码。每次运行都会产生不同的结果,模拟了真实的抽奖过程。
阅读全文