双色球规则介绍
玩法规则:
“双色球”每注投注号码由 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));
}
}