package practice;
import java.util.Random;
import java.util.Scanner;
public class z8 {
public static void main(String[] args) {
//彩票:
//双色球中奖条件和奖金表见同级目录图片
//投注号码由6个红色球号码和1个篮色球号码组成,
//红色球号码从1-33中选择,蓝色球号码从1-16中选择
//分析:
//中奖系统随机生成中奖号码
System.out.println("***************************************");
int []arr=createNumber();
System.out.println("中奖号码为(随机生成的中奖号码,为了方便显示出来):");
System.out.println();
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+" ");
}
System.out.println();
System.out.println();
System.out.println("***************************************");
//用户输入需要购买的彩票号码
int [] userInputArr=userInputNumber();
/*for (int i = 0; i < userInputArr.length; i++) {
System.out.println(userInputArr[i]);
}*/
//判断用户中奖情况
int redCount=0;//红球
int blueCount=0;//蓝球
//判断红球,前后两数组中的数据顺序不影响
for (int i = 0; i < arr.length-1; i++) {
for (int j = 0; j < userInputArr.length-1; j++) {
if(arr[i]==userInputArr[j]){
redCount++;
}
}
}
//判断蓝球
if(arr[arr.length-1]==userInputArr[userInputArr.length-1]){
blueCount++;
}
System.out.println("---------------------------------------");
System.out.print("你中奖的红色球号码个数有"+redCount+"个 ");
System.out.print("蓝色球号码个数有"+blueCount+"个");
System.out.println();
System.out.println("即将揭晓你的中奖情况:");
System.out.println();
System.out.println("=======================================");
if (redCount == 6 && blueCount == 1) {
System.out.println("恭喜你获得一等奖,中奖1000万元!!!");
}else if(redCount == 6 && blueCount == 0){
System.out.println("恭喜你获得二等奖,中奖500万元!!!");
}else if(redCount == 5 && blueCount == 1){
System.out.println("恭喜你获得三等奖,中奖50万元!!!");
}else if((redCount == 5 && blueCount == 0)||(redCount == 4 && blueCount == 1)){
System.out.println("恭喜你获得四等奖,中奖5万元!!!");
}else if((redCount == 3 && blueCount == 1)||(redCount == 2 && blueCount == 1)||redCount == 4 && blueCount == 0){
System.out.println("恭喜你获得五等奖,中奖1万元!!!");
}else if(redCount == 1 && blueCount == 1){
System.out.println("恭喜你获得六等奖,中奖5000元!!!");
}else if(redCount == 0 && blueCount == 1){
System.out.println("恭喜你获得七等奖,中奖1000万元!!!");
}else{
System.out.println("很遗憾你没有中奖,谢谢参与!");
}
System.out.println("***************************************");
}
//写入方法:
//中奖系统随机生成中奖号码
public static int[] createNumber(){
//用数组存入中奖号码,表示奖池
int []arr=new int[7];
Random r=new Random();
//生成6个红色球号码
//号码不能重复
for (int i = 0; i < arr.length-1; ) {
int redNumber=r.nextInt(33)+1;
for (int j = 0; j < arr.length-1; j++) {
if(contains(arr,redNumber)==false) {
arr[i] = redNumber;
i++;
}else{
}
}
}
int blueNumber=r.nextInt(16)+1;
arr[arr.length-1]=blueNumber;
return arr;
}
public static int[] userInputNumber(){
//数组存入用户输入的彩票号码
int []userInputArr=new int[7];
Scanner sc=new Scanner(System.in);
//输入红色球号
//号码不能重复
for (int i = 0; i < userInputArr.length-1; ) {
System.out.println("请输入你的第"+(i+1)+"个红色球号码:");
int redNumber=sc.nextInt();
if ((!contains(userInputArr, redNumber))&&redNumber>=1&&redNumber<=33){
userInputArr[i] = redNumber;
i++;
}else{
System.out.println("你输入的红色球号码不符合规定,请重新输入!");
}
}
//输入蓝色球号码
System.out.println("请输入你的第7个蓝色球号码:");
int blueNumber=sc.nextInt();
while(true) {
if (blueNumber >= 1 && blueNumber <= 16) {
userInputArr[userInputArr.length - 1] = blueNumber;
//输入正确则跳出循环
break;
} else {
System.out.println("你输入的蓝色球号码超出范围,请重新输入!");
}
}
return userInputArr;
}
//方法体:判断输入或者随机生成的数是否重复
public static boolean contains(int []arr,int number){
boolean flag=false;
for (int i = 0; i < arr.length-1; i++) {
if(arr[i]==number){
flag=true;
}
}
return flag;
}
}