规则: “双色球” 每注投注号码由 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;elseluckLevel = 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;}}
}