用java写一个大乐透的中奖代码
时间: 2024-03-08 19:48:57 浏览: 111
好的,下面是一个简单的 Java 大乐透中奖代码,具体实现如下:
```java
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
import java.util.Scanner;
public class Lottery {
public static void main(String[] args) {
// 生成中奖号码
List<Integer> winningNumbers = generateWinningNumbers();
// 显示中奖号码
System.out.println("本期中奖号码为:");
for (int number : winningNumbers) {
System.out.print(number + " ");
}
// 生成用户选号
List<Integer> userNumbers = generateUserNumbers();
// 显示用户选号
System.out.println("\n您的选号为:");
for (int number : userNumbers) {
System.out.print(number + " ");
}
// 比较中奖号码和用户选号,统计中奖数量
int count = 0;
for (int number : userNumbers) {
if (winningNumbers.contains(number)) {
count++;
}
}
// 显示中奖结果
System.out.println("\n恭喜您中了 " + count + " 个号码!");
}
// 生成大乐透中奖号码
public static List<Integer> generateWinningNumbers() {
List<Integer> numbers = new ArrayList<>();
// 生成前面5个红球
Random random = new Random();
for (int i = 1; i <= 5; i++) {
int number = random.nextInt(35) + 1; // 生成1-35之间的随机数
while (numbers.contains(number)) { // 如果已经生成过该数,则重新生成
number = random.nextInt(35) + 1;
}
numbers.add(number);
}
// 生成后面2个蓝球
for (int i = 1; i <= 2; i++) {
int number = random.nextInt(12) + 1; // 生成1-12之间的随机数
while (numbers.contains(number)) { // 如果已经生成过该数,则重新生成
number = random.nextInt(12) + 1;
}
numbers.add(number);
}
Collections.sort(numbers); // 对号码进行排序
return numbers;
}
// 生成用户选号
public static List<Integer> generateUserNumbers() {
Scanner scanner = new Scanner(System.in);
List<Integer> numbers = new ArrayList<>();
// 生成前面5个红球
System.out.println("\n请依次输入您的5个红球号码(1-35之间的整数):");
for (int i = 1; i <= 5; i++) {
int number = scanner.nextInt();
while (number < 1 || number > 35 || numbers.contains(number)) {
System.out.println("请输入1-35之间的未选过的整数:");
number = scanner.nextInt();
}
numbers.add(number);
}
// 生成后面2个蓝球
System.out.println("\n请依次输入您的2个蓝球号码(1-12之间的整数):");
for (int i = 1; i <= 2; i++) {
int number = scanner.nextInt();
while (number < 1 || number > 12 || numbers.contains(number)) {
System.out.println("请输入1-12之间的未选过的整数:");
number = scanner.nextInt();
}
numbers.add(number);
}
Collections.sort(numbers); // 对号码进行排序
return numbers;
}
}
```
这段代码实现了自动生成中奖号码、用户手动选号、比较中奖号码和用户选号并统计中奖数量等功能。