day07作业

import java.util.Scanner;

class SsqGame {
    public static void main(String[] args) {
        int total = 0;//买了几注
        int[] num = new int[7];
        boolean flag = false;
        do{
        System.out.println("*****欢迎进入双色球彩票系统*****");
        System.out.println("          1.购买彩票            ");
        System.out.println("          2.查看开奖            ");
        System.out.println("          3.退出                ");
        System.out.println("********************************");
        Scanner sc = new Scanner(System.in);
        System.out.println("请选择菜单:");
        int choice = sc.nextInt();
        switch (choice) {
        case 1:
            System.out.println("请选择您要购买几注彩票:");
            int record = sc.nextInt();
            total = record * 2;
            for (int i = 0;i < 7 ;i++ ) {
                if (i < 6) {
                    System.out.println("购买红色球,请选择一个1-33之间的号码:");
                    int red = sc.nextInt();
                    num[i] = red;
                }else{
                    System.out.println("购买蓝色球,请选择一个1-16之间的号码:");
                    int blue = sc.nextInt();
                    num[i] = blue;
                }
            }
            System.out.print("您一共购买了" + record + "注,共需支付" + total + "元,您所选号码为:");
            print(num);
            System.out.println();
            
        break;
        case 2:
            //随机生成开奖号码
            int luckNum[] = getLuckNum();
            System.out.print("本次中奖号码为:");
            print(luckNum);
            System.out.print("已买的彩票号:");
            print(num);
            //比较中奖号码和已买号码
            int result = resultComparation(num,luckNum);
            System.out.println("中奖信息:");
            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("很遗憾没有中奖");
            }
            System.out.println();
            
        break;
        case 3:
            flag = true;
        break;
        default:
            System.out.println("请输入正确的选项");
        break;
        
        }
        }while(true);
    }

    public static void print(int[] arr){
        for (int i = 0;i < arr.length ;i++ ) {
            System.out.print(arr[i] + " ");
        }
    }

    public static int[] getLuckNum(){
        int luckNum[] = new int[7];
        for (int i = 0;i < luckNum.length ;i++ ) {
            if (i < luckNum.length - 1) {
                a:for (int j = 0;j < luckNum.length-i ;j++ ) {
                    int m = (int)(Math.random()*33 + 1);
                    if (m != luckNum[j]) {
                        luckNum[j] = m;
                    }
                    else{
                        break a;
                    }
                }
            }else{
                luckNum[i] = (int)(Math.random()*16 + 1);
            }
        }
        return luckNum;
    }

    public static int resultComparation(int[] num,int[] luckNum){
        int redcount = 0;//红球相同个数
        int bluecount = 0;//蓝球相同个数
        int result = 0;//中奖等级
        //将所买号码中每个数字与中奖号码进行比较,计算红球和蓝球各自相同的个数
        for (int i = 0;i < num.length ;i++ ) {
            if (i < num.length - 1) {
                int m = num[i];
                for (int j = 0;j < luckNum.length - 1 ;j++ ) {
                    if (m == luckNum[j]) {
                        redcount++;
                    }
                }
            }else{
                if (num[num.length-1] == luckNum[luckNum.length-1]) {
                    bluecount++;
                }
            }
        }
        //确定中奖等级
        if (redcount == 6 && bluecount == 1) {
            result = 1;
        }else if (redcount == 6 && bluecount == 0) {
            result = 2;
        }else if (redcount == 5 && bluecount == 1) {
            result = 3;
        }else if ((redcount == 5 && bluecount == 0) ||(redcount == 4 && bluecount == 1)) {
            result = 4;
        }else if ((redcount == 4 && bluecount == 0) ||(redcount == 3 && bluecount == 1)) {
            result = 5;
        }else if (redcount == 0 && bluecount == 1) {
            result = 6;
        }else{
            result = 0;
        }
        return result;
    }
}

 

posted @ 2018-07-10 16:36  shiki0921  阅读(138)  评论(0编辑  收藏  举报