规则: “双色球” 每注投注号码由 6 个红色球号码和 1 个蓝色球号码组成。 红色球号码从 1—33 中选择, 蓝色球号码从 1—16 中选择。球的数字匹配数量和颜色决定了是否中奖。
package day4case;
import java.util.Random;
import java.util.Scanner;
public class ShaungSeQiu {
public static void main(String[] args) {
//1 创建7位随机数位存放中奖号码
int [] LuckNums = new int[7];
Random rd = new Random();
for(int i =0;i<LuckNums.length;i++) {//给7位数随机赋值
if(i < LuckNums.length - 1) {//给前六位红球赋值
LuckNums[i] = rd.nextInt(33)+1;
for(int j =0;j<1;j++) {//通过嵌套循环确定红球不重复,如果重复,重新赋值
if(LuckNums[i]==LuckNums[j]) {
LuckNums[i] = rd.nextInt(33)+1;
}
}
}else {//给最后一位蓝球赋值
LuckNums[i]=rd.nextInt(16)+1;
}
}
//3、 用户输入选择的6个红球和1个蓝球
Scanner input = new Scanner(System.in);
int[] chooseNums = new int[7];
for(int i =0;i<chooseNums.length;i++) {
if(i<chooseNums.length-1) {
System.out.println("请输入6个红球号码(1-33),第"+(i+1)+"个为:");
chooseNums[i]=input.nextInt();
}else {
System.out.println("请输入1个蓝色号码(1-16):");
chooseNums[i]=input.nextInt();
}
}
// //显示选取的号码:
System.out.println("您选取的号码为:(前六位红球)(最后一位篮球):");
for(int i=0;i<chooseNums.length;i++) {
System.out.print(chooseNums[i]+"\t");
}
System.out.println();
// //显示开奖号码:
System.out.println("开奖号码为:(前六位红球)(最后一位篮球):");
for(int i=0;i<LuckNums.length;i++) {
// LuckNums[i]=i+1; //1234567一等奖秘籍!
System.out.print(LuckNums[i]+"\t");
}
System.out.println();
//4、判断用户中奖情况
int luckLevel = 0;
int redEqualCount = 0;
int blueEqualCount = 0;
for (int i = 0; i < chooseNums.length; i++) {//买的号码与中奖的号码做对比
if (i < chooseNums.length - 1) {//遍历自己买号码
for (int j = 0; j < LuckNums.length - 1; j++) {
if (chooseNums[i] == LuckNums[j])//对比红球中奖数量
redEqualCount++;
}
} else {
if (chooseNums[chooseNums.length - 1] == LuckNums[LuckNums.length-1])
blueEqualCount++;//对比篮球中奖数量
}
}
//判断中奖级别
if (redEqualCount == 6 && blueEqualCount == 1)
luckLevel = 1;
else if (redEqualCount == 6)
luckLevel = 2;
else if (redEqualCount == 5 && blueEqualCount == 1)
luckLevel = 3;
else if ((redEqualCount == 5) || (redEqualCount == 4 && blueEqualCount == 1))
luckLevel = 4;
else if ((redEqualCount == 5) || (redEqualCount == 3 && blueEqualCount == 1))
luckLevel = 5;
else if (blueEqualCount == 1)
luckLevel = 6;
else
luckLevel = 0;
//输出中奖情况
switch (luckLevel) {
case 0:
System.out.println("未中奖");
break;
case 1:
System.out.println("恭喜您,获得一等奖,奖金500万!");
break;
case 2:
System.out.println("恭喜您,获得二等奖!");
break;
case 3:
System.out.println("恭喜您,获得三等奖!");
break;
case 4:
System.out.println("恭喜您,获得四等奖!");
break;
case 5:
System.out.println("恭喜您,获得五等奖!");
break;
case 6:
System.out.println("恭喜您,获得六等奖!");
break;
default:
System.out.println();
break;
}
}
}