
package com.domain;
import java.util.Random;
import java.util.Scanner;
public class RandBoll {
public static void main(String[] args) {
int[] userNumbers = userInputNumbers();
System.out.println("您输入的号码是:");
printArr(userNumbers);
int[] luckNumbers = createLuckNumvers();
System.out.println("中奖号码是:");
printArr(luckNumbers);
judge(luckNumbers, userNumbers);
}
// 1、随机一组双色球号码
public static int[] createLuckNumvers(){
// 随机6个红球号码(1-33,不能重复),随机一个蓝球号码(1-16)
int[] numbers = new int[7];
Random r = new Random();
for (int i = 0; i < numbers.length - 1; i++) {
// 单个红球循环,检测红球不能重复
while (true) {
boolean flag = true; // 默认没有重复
int data = r.nextInt(33) + 1;
for (int j = 0; j < i; j++) {
// 如果有重复跳出重新执行while直到符合
if(data == numbers[j]){
flag = false;
break;
}
}
if(flag){
numbers[i] = data;
break;
}
}
}
//生成蓝球
numbers[numbers.length -1] = r.nextInt(16) + 1;
return numbers;
}
// 输出数组
public static void printArr(int[] arr){
String str = "[";
for (int i = 0; i < arr.length; i++) {
if(i == arr.length - 1){
str += arr[i];
}else{
str += arr[i] + ",";
}
}
str += "]";
System.out.println(str);
}
// 2、用户输入一组双色球号码返回
public static int[] userInputNumbers(){
Scanner sc = new Scanner(System.in);
int[] numbers = new int[7];
for (int i = 0; i < numbers.length - 1; i++) {
System.out.println("请输入第"+ (i + 1) + "个红球号码");
int data = sc.nextInt();
numbers[i] = data;
}
System.out.println("请输入篮球号码");
int data = sc.nextInt();
numbers[numbers.length - 1] = data;
return numbers;
}
// 3、传入2组号码,判断用户中奖情况
public static void judge(int[] luckNumbers, int[] userNumbers){
// [5,6,7,8,9,10,5]
// [14,22,18,30,2,24,11]
// 比对中奖情况
int redHit = 0;
int blueHit = 0;
// 对比红球 先把用户的号码球和奖球进行比对
for (int i = 0; i < userNumbers.length - 1; i++) {
for (int j = 0; j < luckNumbers.length - 1; j++) {
if(userNumbers[i] == luckNumbers[j]) {
redHit++;
break;
}
}
}
// 蓝色球比对
if(userNumbers[userNumbers.length-1] == luckNumbers[luckNumbers.length-1]) {
blueHit++;
}
System.out.println("红球号码:" + redHit + "\t 篮球号码" + blueHit);
// 判断中奖情况
if (redHit < 3 && blueHit == 1) {
System.out.println("恭喜您,中六等奖!5元!");
}else if ((redHit == 3 && blueHit == 1) || (redHit == 4 && blueHit == 0)) {
System.out.println("恭喜您,中五等奖!10元!");
}else if ((redHit == 4 && blueHit == 1) || (redHit == 5 && blueHit == 0)) {
System.out.println("恭喜您,中四等奖!200元!");
}else if (redHit == 5 && blueHit == 1) {
System.out.println("恭喜您,中三等奖!3000元!");
}else if (redHit == 6 && blueHit == 0) {
System.out.println("恭喜您,中二等奖!大奖 500万!");
}else if (redHit == 6 && blueHit == 1) {
System.out.println("恭喜您,中一等奖!巨奖 1000万!");
}else{
System.out.println("您没有中奖");
}
}
}