import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.Random;
import java.util.Scanner;
import java.util.Set;
public class DLTGenerator {
// 常量定义
private static final int FRONT_POOL_SIZE = 35;
private static final int FRONT_SELECT_COUNT = 5;
private static final int BACK_POOL_SIZE = 12;
private static final int BACK_SELECT_COUNT = 2;
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("大乐透号码生成器");
System.out.print("请输入要生成的注数: ");
int count = scanner.nextInt();
for (int i = 1; i <= count; i++) {
System.out.printf("\n第%d注: %s", i, generateDLTNumber());
}
scanner.close();
}
// 生成单注大乐透号码
private static String generateDLTNumber() {
// 前区号码生成
Set<Integer> frontNumbers = new HashSet<>();
Random random = new Random();
while (frontNumbers.size() < FRONT_SELECT_COUNT) {
frontNumbers.add(random.nextInt(FRONT_POOL_SIZE) + 1);
}
// 后区号码生成
Set<Integer> backNumbers = new HashSet<>();
while (backNumbers.size() < BACK_SELECT_COUNT) {
backNumbers.add(random.nextInt(BACK_POOL_SIZE) + 1);
}
// 排序并格式化输出
ArrayList<Integer> sortedFront = new ArrayList<>(frontNumbers);
ArrayList<Integer> sortedBack = new ArrayList<>(backNumbers);
Collections.sort(sortedFront);
Collections.sort(sortedBack);
return String.format("前区: %s 后区: %s",
formatNumbers(sortedFront), formatNumbers(sortedBack));
}
// 数字格式化(小于10补零)
private static String formatNumbers(ArrayList<Integer> numbers) {
StringBuilder sb = new StringBuilder();
for (int num : numbers) {
sb.append(String.format("%02d ", num));
}
return sb.toString().trim();
}
}
自动生成大乐透java代码
最新推荐文章于 2025-11-25 22:13:12 发布
880

被折叠的 条评论
为什么被折叠?



