福彩双色球作业

import java.util.Scanner;
class SsqGame5 {
    public static void main(String[] args) {
        int totalMoney = 0;//下注总费用
        int price = 2;//双色球单价每注2元
        int count =0;//够买的注数
        boolean isBuy = false;//标识是否购买了彩票
        int num[]=null;//存储双色球号码
        Scanner input = new Scanner(System.in);
        do {
            System.out.println("");
            System.out.println("*****欢迎进入双色球彩票系统*****");
            System.out.println("\t1.购买彩票");
            System.out.println("\t2.查看中奖");
            System.out.println("\t3.退出");
            System.out.println("********************************");
            System.out.print("请选择菜单:");

            int choice =input.nextInt();
            switch (choice) {
            case 1://购买彩票
                System.out.println("[双色球彩票系统]>购买彩票");
                System.out.println("您需要下多少注:");
                count = input.nextInt();//买了多少注
                totalMoney = count*price;//总下注花的钱数

                //开始选号(6红球1篮球)
                 num=new int[7];//用来存储双色球号(6红+1蓝)
                for (int i=0;i<num.length ;i++ ) {
                     int red;//输入的红球数
                     int blue;//输入的蓝球数
                     if (i<num.length-1) {//选红色
                         System.out.println("请输入6个红球数字(在1-33之间),第【"+(i+1)+"】个红球号为:");
                         red=input.nextInt(33);
                         num[i]=red;//将红号放入数组num中
                     }else{//选蓝色
                        System.out.println("请输入1个蓝球数字(在1-16之间):");
                        blue=input.nextInt(16);
                        num[i]=blue;//将蓝号放入数组num中
                      }
                }
                //输出已经买好的彩票信息
                System.out.print("您一共买了【"+count+"】注,供需支付【"+totalMoney+"】元,所选择的号码为:");
                for (int i=0;i<num.length ;i++ ) {
                    System.out.print(num[i]+"\t");
                }
                System.out.println();//换行输出
                isBuy = true;//成功购买双色球彩票,标志位设置为true
                break;
                case 2:
                    System.out.println("[双色球彩票系统>查看开奖]");
                    if (isBuy) {//判断是否购买了彩票
                        //开奖后须重新购买
                        isBuy=false;
                        //调用getLuckNum方法得到一个随机中奖号
                        int luckNum[]=getLuckNum();
                        //输出你已经买的彩票号
                        System.out.print("已经买到的彩票号码为:");
                        for (int n:num) {
                            System.out.print(n+"\t");
                        }
                        System.out.println();//换行

                        //输出当期的中奖号
                        System.out.print("当期的中奖号码为:");
                        for (int n:luckNum) {
                            System.out.print(n+"\t");
                        }
                        System.out.println();//换行

                        //判断获奖等级
                        int result=getCompareResult(num,luckNum);
                        //根据获奖等级输出结果
                        if (result==1) {
                            System.out.println("【一等奖】");
                        }else if (result==2) {
                            System.out.println("【二等奖】");
                        }else if (result==3) {
                            System.out.println("【三等奖】");
                        }else if (result==4) {
                            System.out.println("【四等奖】");
                        }else if (result==5) {
                            System.out.println("【五等奖】");
                        }else if (result==6) {
                            System.out.println("【六等奖】");
                        }else{
                            System.out.println("【谢谢惠顾】");
                        }
                    }else{
                        System.out.println("请先购买彩票,再查看开奖情况!");
                    }
                    break;
                case 3:
                    System.out.println("谢谢使用");
                    return;
                default:
                    System.out.println("输入有误");
                }
        }while (true);
    }
    
    //随机生成一个中奖号码
    public static int[]getLuckNum(){
        int luckNum[]=new int[7];
        for (int i=0;i<luckNum.length ;i++ ) {
            if (i<luckNum.length-1) {//红球
                luckNum[i]=(int)(Math.random()*33)+1;//生成一个1-33的整数
            }else{//篮球
                luckNum[i]=(int)(Math.random()*16)+1;//生成一个1-16的整数
            }
        }
        return luckNum;
    }

    //计算获奖等级
    public static int getCompareResult(int num[],int luckNum[]){
        int luckLevel=0;//中奖等级1-6
        int redEqualCount=0;//红球相等数量
        int blueEqualCount=0;//篮球相等数量

        //将自己的彩票号码与之比较
        for (int i=0;i<num.length;i++ ) {
            if (i<num.length-1) {
                //比较红球
                int r=num[i];
                for (int j=0;j<luckNum.length-1 ;j++ ) {
                    if (r==luckNum[j]) {
                        redEqualCount++;
                    }
                }
            }else{
                if (num[num.length-1]==luckNum.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==4||(redEqualCount==3&&blueEqualCount==1)){
            luckLevel=5;
        }else if(blueEqualCount==1){
            luckLevel=6;
        }
            return luckLevel;
        }

}

 

posted on 2018-07-10 17:18  三冬暖  阅读(235)  评论(0编辑  收藏  举报