投注号码由6个红色球号码和1个蓝色球号码组成。红色球号码从1 - 33选择;蓝色球号码从1 - 16中选择。

package com;
import java.util.Random;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
int[] luckNumbers = createLuckNumbers();
int[] userNumbers = userInputNumbers();
judge(luckNumbers,userNumbers);
}
public static int[] createLuckNumbers(){
int[] numbers = new int[7];
Random r = new Random();
for(int i = 0;i < numbers.length - 1;i++){
while (true) {
int number = r.nextInt(33) + 1;
boolean flag = true;
for(int j = 0;j < i;j++){
if(numbers[j] == number){
flag = false;
break;
}
}
if(flag){
numbers[i] = number;
break;
}
}
}
numbers[numbers.length - 1] = r.nextInt(16) + 1;
return numbers;
}
public static int[] userInputNumbers(){
int[] numbers = new int[7];
Scanner sc = new Scanner(System.in);
for(int i = 0;i < numbers.length - 1;i++){
while (true) {
System.out.println("请您录入第" + (i + 1) + "个红球号码(1 - 33),要求不重复:");
int number = sc.nextInt();
if(number < 1 || number > 33){
System.out.println("您当前录入的第" + (i + 1) + "个号码" + number + "不符合要求!");
continue;
}
boolean flag = true;
for(int j = 0;j < i;j++){
if(numbers[j] == number){
flag = false;
System.out.println(number + "出现重复,请重新录入!");
break;
}
}
if(flag){
numbers[i] = number;
break;
}
}
}
while(true){
System.out.println("请您录入第" + (numbers.length) + "个蓝球号码(1 - 16):");
int number = sc.nextInt();
boolean flag = true;
if(number < 1 || number > 16){
flag = false;
System.out.println("您录入的" + number + "不符合规则,请重新录入!");
continue;
}
if(flag){
numbers[numbers.length - 1] = number;
break;
}
}
return numbers;
}
public static void judge(int[] luckNumbers,int[] userNumbers){
int redHitNumber = 0;
int blueHitNumber = 0;
for(int i = 0;i < luckNumbers.length - 1;i++){
for(int j = 0;j < userNumbers.length - 1;j++){
if(userNumbers[j] == luckNumbers[i]){
redHitNumber++;
break;
}
}
}
blueHitNumber = luckNumbers[luckNumbers.length - 1] == userNumbers[userNumbers.length - 1] ? 1 : 0;
System.out.println("中奖号码是:");
printArray(luckNumbers);
System.out.println("您投注的号码是:");
printArray(userNumbers);
System.out.println(redHitNumbers > 0 ? "您命中了" + redHitNumbers + "个红球!" : "您没有命中红球!");
System.out.println(blueHitNumbers == 1 ? "您命中了蓝球!" : "您没有命中蓝球!");
if(redHitNumber == 6 && blueHitNumber == 1){
System.out.println("恭喜您喜中1000万!");
}else if(redHitNumber == 6 && blueHitNumber == 0){
System.out.println("恭喜您喜中500万!");
}else if(redHitNumber == 5 && blueHitNumber == 1){
System.out.println("恭喜您喜中3000元!");
}else if(redHitNumber == 5 && blueHitNumber == 0 || redHitNumber == 4 && blueHitNumber == 1){
System.out.println("恭喜您喜中200元!");
}else if(redHitNumber == 4 && blueHitNumber == 0 || redHitNumber == 3 && blueHitNumber == 1){
System.out.println("恭喜您喜中10元!");
}else if(redHitNumber <= 2 && blueHitNumber == 1){
System.out.println("恭喜您喜中5元!");
}
}
public static void printArray(int[] arr){
System.out.print("[");
for(int i = 0;i < arr.length;i++){
System.out.print(i == arr.length - 1 ? arr[i] : arr[i] + ", ");
}
System.out.println("]");
}
}
