package com.wr.demo;
import java.util.HashSet;
import java.util.Random;
import java.util.Scanner;
import java.util.Set;
public class test06 {
public static void main(String[] args) {
Set<Integer> lotteryNumbers = RanLotteryNumbers();
Set<Integer> userNumbers = getUserNumbers();
int matchedCount = MatchedNumbers(lotteryNumbers, userNumbers);
System.out.println("本期彩票号码是:" + lotteryNumbers);
System.out.println("用户购买的号码是:" + userNumbers);
System.out.println("中了" + matchedCount + "个号");
if (matchedCount == 3) {
System.out.println("恭喜中了一等奖!");
} else if (matchedCount == 2) {
System.out.println("恭喜中了二等奖!");
} else if (matchedCount == 1) {
System.out.println("恭喜中了三等奖!");
} else {
System.out.println("很遗憾,未中奖!");
}
}
private static Set<Integer> RanLotteryNumbers() { //随机生成三个号码
Set<Integer> lotteryNumbers = new HashSet<>();
Random random = new Random();
while (lotteryNumbers.size() < 9) {
int number = random.nextInt(900) + 100;
lotteryNumbers.add(number);
}
return lotteryNumbers;
}
private static Set<Integer> getUserNumbers() { //获取购买的号码
Set<Integer> userNumbers = new HashSet<>();
Scanner scanner = new Scanner(System.in);
System.out.println("请输入您购买的号码(3个不重复的三位数,以空格分隔):");
while (userNumbers.size() < 3) {
int number = scanner.nextInt();
if (number >= 100 && number <= 999) {
userNumbers.add(number);
} else {
System.out.println("请输入有效的三位数!");
}
}
return userNumbers;
}
private static int MatchedNumbers(Set<Integer> lotteryNumbers, Set<Integer> userNumbers) {
int count = 0;
for (int number : userNumbers) {
if (lotteryNumbers.contains(number)) {
count++;
}
}
return count;
}
}
实验运行截图: