package com.Demo;
import java.util.Random;
import java.util.Scanner;
//双色球系统
public class Test8 {
public static void main(String[] args) {
int[] uesrnumber=uesrSele();
System.out.println("您投注号码为:");
dayin(uesrnumber);
int[] lucknumber=zjnumber();
System.out.println("中奖号码为:");
dayin(lucknumber);
judge(uesrnumber,lucknumber);
}
//打印
public static void dayin(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("]");
}
//设计一个方法,用于让用户投注一组号码并返回(前6个是红球号码,最后一个是篮球)
public static int[] uesrSele(){
//创建一个整数数组,用于储存号码
Scanner sc=new Scanner(System.in);
int[] numbers=new int[7];
//遍历前6个位置,让用户依次投注6个红球号码,存入
for (int i = 0; i < numbers.length-1; i++) {
while (true) {
//开始让用户为当前位置投注一个红球号码
System.out.println("请您输入第"+(i+1)+"个红球号码(1-33之间不能重复):");
int number=sc.nextInt();
//先判断是否在1-33之间
if (number<1 || number>33){
System.out.println("对不起,您输入的号码不在1-33之间");
}else {
//号码是否重复
if (exist(numbers,number)){
//号码重复
System.out.println("红球号码重复");
}else {
//号码可以使用
numbers[i]=number;
break;//结束死循环
}
}
}
}
while (true) {
System.out.println("请您输入最后一个篮球号码(1-16):");
int number=sc.nextInt();
if (number<1 || number>16){
System.out.println("篮球号码范围不对");
}else {
numbers[6]=number;
break;
}
}
return numbers;
}
private static boolean exist(int[] numbers, int number) {
//判断这个数字是否在number数组中存在
for (int i = 0; i < numbers.length; i++) {
if (numbers[i]==number){
return true;
}
}
return false;
}
//设置一个方法,随机一组中奖号码
public static int[] zjnumber(){
//创建一个数组,用来储存这7个号码
int[] numbers=new int[7];
Random r=new Random();
//遍历数组
for (int i = 0; i < numbers.length; i++) {
//为当前这个位置随机一个红球号码出啦存入
while (true) {
int number=r.nextInt(33)+1;
//判断这个号码是否出现过
if (!exist(numbers,number)){
//number不重复
numbers[i]=number;
break;//结束死循环
}
}
}
//录入一个篮球号码
numbers[6] = r.nextInt(16)+1;
return numbers;
}
//设置一个方法用于判断用户的中将情况
public static void judge(int[] userNumber,int[] luckNumber){
//分别定义两个变量用于记住红球命中了几个篮球命中了几个
int red=0;
int blue=0;
//先判断红球命中的数量
//遍历用户投注的号码的前6个红球
for (int i = 0; i < userNumber.length-1; i++) {
//开始遍历
for (int j = 0; j < luckNumber.length-1; j++) {
if (userNumber[i]==luckNumber[j]){
red++;
break;
}
}
}
blue=userNumber[6]==luckNumber[6]?1:0;
System.out.println("您命中的红球数量是:"+red);
System.out.println("您命中的蓝球数量是:"+blue);
//判断中将详情,并输出结果
if(red==6 && blue==1){
System.out.println("中奖1000万");
}else if (red==6 && blue==0){
System.out.println("中奖500万");
}else if (red==5 && blue==1){
System.out.println("中奖3000元");
}else if (red==5 && blue==0 || red==4 && blue==1){
System.out.println("中奖200元");
}else if (red==4 && blue==0 || red==3 && blue==1) {
System.out.println("中奖10元");
}else if (red<3 && blue==1) {
System.out.println("中奖5元");
}else {
System.out.println("感谢为福利事业做出贡献~~");
}
}
}