import java.util.Random;
import java.util.Scanner;
public class helloworld {
public static void main(String[] ages) {
//定义一个数组,将1-33放入其中
//创建brr存放作为红球中奖存放的数字数组
/*判断输入的数据是否重复,其中使用方法alike进行布尔判断是否是重复值
使用if语句判断是否在红色球的范围内*/
/*键盘录入蓝球数据,判断是否符合蓝球范围
定义方法firstPrize1判断是否中奖,并且引用方法judge使中奖号码不重复
判断输入的红色球有几个是中奖的,将两个结合,引用方法
extracted判断中的几等奖,或者没有中奖*/
Random r = new Random();
Scanner sc = new Scanner(System.in);
int[] arr = new int[33];
for (int i = 0, j = 1; i < arr.length; i++, j++) {
arr[i] = j;
}
int[] crr = new int[6];//输入的6个红色球的数字存储在这里
//判断输入数据是否正确并存储正确输入的数据
for (int i = 0; i < crr.length; i++) {
//System.out.println("标记");
System.out.println("请输入" + (i + 1) + "个红色球数字,提示范围在1-33,顺序不分先后");
while (true) {
int rad = sc.nextInt();
boolean h = alike(crr, rad);
if (rad <= 33 && rad > 0) {
if (h) {
crr[i] = rad;
//System.out.println(h);
System.out.println("输入正确");
break;
} else {
System.out.println("输入的红色球重复了,请重新输入");
continue;
}
} else {
System.out.println("输入的红色球不符合规范,请重新输入");
continue;
}
}
}
//获取自己蓝色球数字
System.out.println("请输入蓝色球数字,提示范围在1-16,顺序不分先后");
while (true) {//判断蓝色球输入的格式是否正确
int blue = sc.nextInt();
if (blue <= 16 && blue > 0) {
//随机蓝球的数字
int blue2 = r.nextInt(16) + 1;
firstPrize1(arr, crr, blue, blue2);
break;
} else {
System.out.println("输入的蓝色球不符合规范,请重新输入");
continue;
}
}
}
//判断输入的红球号码是否相同,相同的话需要重新输入
public static boolean alike(int[] crr, int rad) {
for (int i = 0; i < crr.length; i++) {
if (crr[i] == rad) {
return false;
}
}
return true;
}
//判断是否中了奖
public static void firstPrize1(int[] arr, int[] crr, int blue, int blue2) {
int[] brr = new int[6];//红色球中奖号码
//获取红色球的号码数字
Random r = new Random();
int x = 0;
for (int i = 0; x < brr.length; i++) {
int ran = r.nextInt(33) + 1;
boolean b = judge(arr, brr, ran);
if (b) {
brr[x] = arr[ran];
x++;
}
}
//遍历brr1数组,输出红色球中奖号码
System.out.println("红色球结果是:");
for (int i = 0; i < brr.length; i++) {
System.out.print(brr[i] + " ");
}
//输出一等奖蓝色球中奖号码
System.out.println("\n"+"蓝色球结果是:"+"\n" + blue2);
//判断蓝色球是否符合一等奖的蓝色球结果,并输出奖项
int sum = 0;//判断有几个和中奖号码相同的,以便判断是几等奖
extracted(crr, blue, blue2, brr, sum);
}
//让红色球随机不重复,有重复值退出方法
public static boolean judge(int[] arr, int[] brr, int ran) {
for (int j = 0; j < brr.length; j++) {
if (arr[ran] == brr[j]) {
return false;
}
}
return true;
}
//判断有没有中奖
public static int award(int[] crr, int[] brr, int sum) {
for (int i = 0; i < crr.length; i++) {
//
for (int j = 0; j < brr.length; j++) {
if (crr[i] == brr[j]) {
sum++;
break;
}
}
}
return sum;
}
//判断中了几等奖并输出
public static void extracted(int[] crr, int blue, int blue2, int[] brr1, int sum) {
int bo = award(crr, brr1, sum);
if ((bo == 6) && (blue == blue2)) {
System.out.println("恭喜,您中了一等奖,奖金1000万");
} else if ((bo == 6) && (blue != blue2)) {
System.out.println("恭喜,您中了二等奖,奖金500万");
} else if ((bo == 5) && (blue == blue2)) {
System.out.println("恭喜,您中了三等奖,奖金3000元");
} else if ((bo == 5) && (blue != blue2)) {
System.out.println("恭喜,您中了四等奖,奖金200元");
} else if ((bo == 4) && (blue == blue2)) {
System.out.println("恭喜,您中了四等奖,奖金200元");
} else if ((bo == 4) && (blue != blue2)) {
System.out.println("恭喜,您中了五等奖,奖金10元");
} else if ((bo == 3) && (blue == blue2)) {
System.out.println("恭喜,您中了五等奖,奖金10元");
} else if ((bo == 2) && (blue == blue2)) {
System.out.println("恭喜,您中了五等奖,奖金10元");
} else if ((bo == 1) && (blue == blue2)) {
System.out.println("恭喜,您中了六等奖,奖金5元");
} else if ((bo == 0) && (blue == blue2)) {
System.out.println("恭喜,您中了六等奖,奖金5元");
} else {
System.out.println("您没有中奖");
}
}
}