双色球5:完成判断中奖等级判断。最终的成品

package com.threeday.ssq;

import java.util.Scanner;

/*
* 1.显示主菜单和选择
* 2.实现主菜单循环显示和选择
* 3.完成购买彩票操作*/
public class TestSSQGame5 {
   static Scanner input = new Scanner(System.in);
    public static void main(String[] args) {
        boolean isBuy = false;
        int []selectArr = null;
        int count = 0;
        final int PIRCE = 2;//价格不可以修改
        do{
            //显示菜单
            System.out.println("===============欢迎进入双色球系统=================");
            System.out.println("                1.购买彩票");
            System.out.println("                2.查看开奖");
            System.out.println("                3.退出系统");
            System.out.println("=================================================");

            //输入想选择的功能
            System.out.println("请选择功能:");
            int choice = input.nextInt();

            //控制选择菜单
            switch (choice){
                case 1:
                    System.out.println("双色球彩票系统------>购买彩票");
                    //1.提示要买多少注
                    System.out.println("您要买多少注?");
                     count = input.nextInt();
                   selectArr = selectNum();//定义一个新的数组名,调用方法
                    //4.输出自己购买的彩票
                    System.out.print("您购买的彩票是:【");
                    for (int newNum:selectArr){
                        System.out.print(newNum+"\t");
                    }
                    System.out.print("】");
                    System.out.print("您共购买了【"+count+"】注。"+"共花费了【"+(count*PIRCE)+"】元");
                    //5.修改购买完彩票的状态
                    isBuy = true;
                    break;
                case 2:
                    System.out.println("双色球彩票系统------>查看开奖");
                    //判断是否购买彩票
                    if(!isBuy){
                        System.out.println("您还没有购买彩票,请先购买彩票!!!!");
                    }else {
                        //1.获取幸运号码
                        int [] luckyArr = getluckArr();
                        //2.展示幸运号码
                        System.out.println("本期中将号码是:");
                        for (int luckNum:luckyArr){
                            System.out.print(luckNum+"\t");
                        }
                        System.out.println();
                        //3.展示我购买的号码
                        System.out.println("您的本期购买号码是:");
                        for (int yourArr:selectArr){
                            System.out.print(yourArr+"\t");
                        }
                        System.out.println();
                        //4.判断获奖等级
                        int leave = getLeave(selectArr,luckyArr);
                        switch (leave){
                            case 1:
                                System.out.println("【恭喜您获得一等奖!!】,您共买了【"+count+"】注。"+
                                        "共投资了【"+count*PIRCE+"】元。"+"中了【"+count*500+"】万元");
                                break;
                            case 2:
                                System.out.println("【恭喜您获得二等奖!!】,您共买了【"+count+"】注。"+
                                        "共投资了【"+count*PIRCE+"】元"+"中了【"+count*100+"】万元");
                                break;
                            case 3:
                                System.out.println("【恭喜您获得三等奖!!】,您共买了【"+count+"】注。"+
                                        "共投资了【"+count*PIRCE+"】元"+"中了【"+count*10000+"】元");
                                break;
                            case 4:
                                System.out.println("【恭喜您获得四等奖!!】,您共买了【"+count+"】注。"+
                                        "共投资了【"+count*PIRCE+"】元"+"中了【"+count*5000+"】元");
                                break;
                            case 5:
                                System.out.println("【恭喜您获得五等奖!!】,您共买了【"+count+"】注。"+
                                        "共投资了【"+count*PIRCE+"】元"+"中了【"+count*100+"】元");
                                break;
                            case 6:
                                System.out.println("【恭喜您获得六等奖!!】,您共买了【"+count+"】注。"+
                                        "共投资了【"+count*PIRCE+"】元"+"中了【"+count*5+"】元");
                                break;
                            default:
                                System.out.println("【再接再历!!】,您共买了【"+count+"】注。"+
                                        "共投资了"+count*PIRCE+"元"+"没有中奖!!");
                        }
                    }
                    isBuy = false;
                    break;
                case 3:
                    System.out.println("退出系统");
                    //break;
                    return;
                default :
                    System.out.println("输入错误");
            }
            System.out.println("\n请输入任意键继续......");
            //nextLine可以接受任何键盘上的输入
            input.nextLine();//控制接收主菜单的键盘输入
            input.nextLine();//控制接受任意键的键盘输入
        }while (true);
        //System.out.println(Arrays.toString(getluckArr()));
    }

    /*
    * 判断获奖等级*/
    private static int getLeave(int []myArr,int [] luckyArr) {
        int leave = 7;
        int redBall = 0;//红球的数量
        int blueBall = 0;//蓝球的数量
        //外层循环 让自己的号码与幸运号码来进行判断
        for (int i=0;i<myArr.length;i++){

            //让自己的号码前六个与幸运号码前六个判断
            if (i<myArr.length-1){
                int num = myArr[i];//每遍历一次让自己的红球号码与幸运红球号码相比较
                for (int j=0;j<luckyArr.length;j++){
                    if (num==luckyArr[i]){
                        redBall++;
                        break;
                    }
                }
            }else {
                if (myArr[myArr.length-1]==luckyArr[luckyArr.length-1]){
                    blueBall++;
                }
            }
        }

        if (redBall==6 && blueBall==1){//一等奖:投注号码与当期开奖号码全部相同(顺序不限,下同),即中奖;
            leave=1;
        }else if (redBall==6){//二等奖:投注号码与当期开奖号码中的6个红色球号码相同,即中奖;
            leave=2;
        }else if (redBall==5 && blueBall==1){//三等奖:投注号码与当期开奖号码中的任意5个红色球号码和1个蓝色球号码相同,即中奖;
            leave=3;
        }else if (redBall==5 ||(redBall==4 && blueBall==1)){//四等奖:投注号码与当期开奖号码中的任意5个红色球号码相同,或与任意4个红色球号码和1个蓝色球号码相同,即中奖;
            leave=4;
        }else if (redBall==4 || (redBall==3 && blueBall==1)){//五等奖:投注号码与当期开奖号码中的任意4个红色球号码相同,或与任意3个红色球号码和1个蓝色球号码相同,即中奖;
            leave=5;
        }else if (blueBall==1){//六等奖:投注号码与当期开奖号码中的1个蓝色球号码相同,即中奖。
            leave=6;
        }
        return leave;
    }

    /*
    * 产生幸运号码*/
    private static int[] getluckArr() {
        int [] luckyNum =new int[7];
        for (int i=0;i<luckyNum.length;i++){
            if (i<luckyNum.length-1){//生成红球
            luckyNum[i] = (int)(Math.random()*33)+1;
                
            }else {//生成蓝球
                luckyNum[i] = (int)(Math.random()*16)+1;
            }
        }
        //让生成的随机数排序
        for (int i=0;i<luckyNum.length-1;i++){
            int minIndex = i;//默认第一个最小
            for (int j=i+1;j<luckyNum.length-1;j++){
                if (luckyNum[minIndex]>luckyNum[j]){
                    minIndex = j;
                }
            }
            if (minIndex!=i){
                int temp;
                temp = luckyNum[i];
                luckyNum[i] = luckyNum[minIndex];
                luckyNum[minIndex] = temp;
            }
        }
        return luckyNum;
    }

    //创建选择号码的方法
    public static int [] selectNum(){
        //2.创建数组储存
        int [] selectArr = new int[7];
        //3.开始选择自己想要买的数字
        for (int i = 0; i <selectArr.length ; i++) {
            if (i<6){//红球
                System.out.println("请输入第"+(i+1)+"个双色球号码(1-33):");
                selectArr[i] = input.nextInt();
            }else{//蓝球
                System.out.println("请输入蓝色球号码(1-16):");
                selectArr[i] = input.nextInt();
            }
        }
        return selectArr;
    }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值