双色球(投注号码由6个红色球号码和1个蓝色球号码组成。红色号码从1-33中选择;蓝色球号码从1-16中选择。)

题目:

投注号码由6个红色球号码和1个蓝色球号码组成。红色号码从1-33中选择;蓝色球号码从1-16中选择。输出正确号码,买家选择的双色球号码以及兑奖结果。

中奖说明:

中红色球个数 中蓝色球个数 奖金 6 1 1000万 6 0 500万 5 1 3000元 5 0 200元 4 1 4 0 10元 3 1 2 1

5元

1 1 0 1

 

package BicolorSphere;

import java.util.Random;
import java.util.Scanner;

public class BicolorSphere {
    public static void main(String[] args) {
        int[] winnum = createNumber();//用数组winnum存放正确的号码
        int[] selectnum = new int[7];//用selectnum存放买家选择的号码
        Scanner scan = new Scanner(System.in);
        //for循环,买家输入自己选择的号码
        for (int curpos = 0;curpos < selectnum.length;){
            if(curpos != selectnum.length-1){
                System.out.print("请输入第"+(curpos+1)+"个红球号码:");
                int num = scan.nextInt();
                if(num >= 1 && num <= 33){
                    if(!check(selectnum,num)){//检测之前是否选择过该号码,若没有则存入数组中
                        selectnum[curpos] = num;
                        curpos ++;
                    }else{
                        System.out.println("你已选择过此号码,请重新输入!");
                    }
                }else{
                    System.out.println("不在红色球号码范围内,请重新输入!");
                }
            }else{
                System.out.print("请输入蓝球号码:");
                int num = scan.nextInt();
                if(num >= 1 && num<=16){
                    selectnum[curpos] = num;
                    curpos ++;
                }else{
                    System.out.println("不在蓝色球号码范围内,请重新输入!");
                }
            }
        }
        
        System.out.print("中奖号码为:");
        for (int curpos = 0;curpos < winnum.length;curpos ++){
            System.out.print(winnum[curpos]+" ");
        }
        System.out.println();

        System.out.print("你选择的号码为:");
        for (int curpos = 0;curpos < selectnum.length;curpos ++){
            System.out.print(selectnum[curpos]+" ");
        }
        System.out.println();
        //输出中奖情况
        redeem(winnum,selectnum);
    }
    //函数createNumber用于生成正确的号码
    public static int[] createNumber(){
        Random random = new Random();
        int[] numberarr = new int[7];
        for (int curpos = 0;curpos < numberarr.length-1;){
            int num = random.nextInt(33)+1;
            if(!check(numberarr,num)){
                numberarr[curpos] = num;
                curpos ++;
            }
        }
        numberarr[numberarr.length-1] = random.nextInt(16)+1;
        return numberarr;
    }
    //check函数用于检验数组arr中是否存在数num,若存在则返回true,若不存在,则返回false
    public static boolean check(int[] arr,int num){
        for (int curpos = 0;curpos < arr.length;curpos ++){
            if (arr[curpos] == num){
                return true;
            }
        }
        return false;
    }
    
    //函数redeem用于兑奖
    public static void redeem(int[] winnum,int[] selectnum){
        int redcount = 0,bluecount = 0;
        for (int curpos1 = 0;curpos1 < winnum.length;curpos1 ++){
            for (int curpos2 = 0;curpos2 < selectnum.length;curpos2 ++){
                if(winnum[curpos1] == selectnum[curpos2]){
                    redcount ++;
                }
            }
        }
        if(selectnum[selectnum.length-1] == winnum[winnum.length-1]){
            bluecount ++;
        }
        if(redcount == 6 && bluecount ==1){
            System.out.println("恭喜你!中奖1000万!");
        }else if(redcount == 5 && bluecount ==1){
            System.out.println("恭喜你!中奖3000元!");
        }
        else if((redcount == 5 && bluecount ==0) || (redcount == 4 && bluecount == 1)){
            System.out.println("恭喜你!中奖200元!");
        }
        else if((redcount == 4 && bluecount ==0) || (redcount == 3 && bluecount == 1)){
            System.out.println("恭喜你!中奖10元!");
        }
        else if((redcount == 2 && bluecount ==1) || (redcount == 1 && bluecount == 1) || (redcount == 0 && bluecount == 1)){
            System.out.println("恭喜你!中奖5元!");
        }else{
            System.out.println("感谢参与!");
        }
    }
}

代码结果:

请输入第1个红球号码:12
请输入第2个红球号码:13
请输入第3个红球号码:25
请输入第4个红球号码:26
请输入第5个红球号码:27
请输入第6个红球号码:5
请输入蓝球号码:5
中奖号码为:15 4 11 31 12 29 8
你选择的号码为:12 13 25 26 27 5 5
感谢参与!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值