Java实现双色球抽奖系统
双色球规则介绍
玩法规则:
“双色球”每注投注号码由 6 个红色球号码和 1 个蓝色球号码组成。红色球号码从 1—33 中选择,蓝色球号码从 1—16 中选择。 球的数字匹配数量和颜色决定了是否中奖。
具体中奖规则:
编程思路
- 生成本期双色球中奖号码。 (注意:1.生成的随机数不可重复、2.蓝球和红球的随机范围不同)
- 输入竞猜号码。
- 记录红球、蓝球竞猜正确球的数量,并根据获奖条件输出竞猜结果和本期双色球号码。
代码
Java实现
public class BichromaticSphere { public static void main(String[] args) { // TODO Auto-generated method stub //生成双色球 //定义大小为7的数组存放6+1个双色球上的数字 int nums[] = new int[7]; //取6次随机数 for(int i=0;i<nums.length-1;i++) { //随机数范围从1-33 int index =(int)(Math.random()*32+1); nums[i]=index; //检验新生成的随机数是否与已生成数字重复 for(int j=0;j<i;j++) { if(nums[i]==nums[j]) { //若生成重复数字则跳出检验,重新生成随机数 i--; break; } } } //生成蓝色球数字 nums[nums.length-1]=(int)(Math.random()*15+1); //竞猜双色球 System.out.println("请依次输入您预测的6个红球和1个蓝球对应的数字"); Scanner s = new Scanner(System.in); int arr[] = new int[7]; for(int j=0;j<arr.length;j++) { arr[j]=s.nextInt(); } //开奖 System.out.println("您的中奖结果是:"); //flag_red、flag_blue分别标记红球、蓝球竞猜正确球的数量 int flag_red=0,flag_blue=0; for(int i=0;i<6;i++) { for(int j=0;j<6;j++) { if(nums[i]==arr[j]) //计算红球竞猜正确的数量 flag_red++; break; } } if(nums[6]==arr[6]) { //检验蓝球是否中奖 flag_blue++; } switch(flag_red) { case 6:if(flag_blue==1) { System.out.println("一等奖"); }else { System.out.println("二等奖"); }break; case 5:if(flag_blue==1) { System.out.println("三等奖"); }else { System.out.println("四等奖"); }break; case 4:if(flag_blue==1) { System.out.println("四等奖"); }else { System.out.println("五等奖"); }break; case 3:if(flag_blue==1) { System.out.println("五等奖"); }else { System.out.println("未中奖"); }break; case 2: case 1: case 0:if(flag_blue==1) { System.out.println("六等奖"); }else { System.out.println("未中奖"); }break; } System.out.println("中奖号码为:"); //输出本期中奖号码 System.out.println(Arrays.toString(nums)); } }