Java实现双色球,并判断中了多少

public static void main(String[] args) {

        //调用方法生成一个中将号码
        int[] luckyNumbers = createLuckNumber();
        printArray(luckyNumbers);
        //调用一个方法让用户输入7个数
        int[] userNumbers =  userInputNumbers();
        printArray(userNumbers);

        //判断中奖情况
        judge(luckyNumbers,userNumbers);

    }

    public static void judge(int[] luckyNumbers,int[] userNumbers){
//        定义两个变量分别存储红球和蓝球命中的个数
        int redNumbers = 0;
        int blueNumbers = 0;
        //判断红球中了几个
        for (int i = 0; i < userNumbers.length-1; i++) {
            for (int j = 0; j < luckyNumbers.length-1; j++) {
                if (userNumbers[i] == luckyNumbers[j]){
                    redNumbers++;
                    break;
                }
            }
        }
        //判断蓝球是否命中
        blueNumbers = userNumbers[6] == luckyNumbers[6] ? 1 :0;

        //判断中奖情况

        System.out.println("中奖号码是:");
        printArray(luckyNumbers);
        System.out.println("你投注的号码是:");
        printArray(userNumbers);
        System.out.println("你中了" + redNumbers + "个红球");
        System.out.println("你是否命中蓝球:"+ (blueNumbers == 1 ? "是":"否"));


        if (blueNumbers == 1 && redNumbers <3){
            System.out.println("恭喜你中了5元");
        }else if(blueNumbers ==1 && redNumbers ==3 || blueNumbers == 0 && redNumbers ==4){
            System.out.println("恭喜你中了10元");
        }else if (blueNumbers == 1 && redNumbers == 4 || blueNumbers == 0&&redNumbers==5){
            System.out.println("恭喜你中了200元");
        }else if (blueNumbers == 1 && redNumbers == 5){
            System.out.println("恭喜你中了3000元");
        }else if ( blueNumbers == 0 && redNumbers==6){
            System.out.println("恭喜你中了500万元");
        }else if ( blueNumbers == 1 && redNumbers==6){
            System.out.println("恭喜你中了1000万元");
        }else {
            System.out.println("感谢你为福利事业做出贡献!!!");
        }
    }


    public static  void printArray(int[] arr){
        System.out.print("[");
        for (int i = 0; i < arr.length; i++) {
            System.out.print(i == arr.length - 1 ? arr[i] : arr[i] + ", ");
        }
        System.out.println("]");
    }
    public static int[] userInputNumbers(){
        //定义一个数组存储7个数字
        int[] numbers = new int[7];
        //让用户存入前6个数字
        Scanner sc = new Scanner(System.in);
        for (int i = 0; i < numbers.length-1; i++) {
            System.out.println("请输入第" + (i + 1) + "个数(1-33之间,要求不重复):");
            int data = sc.nextInt();
            //将当前的数据存入到数组中去
            numbers[i] = data;
        }
//        单独输入第七个数
        System.out.println("最后一个数请输入(1-16)之间的数:");
        numbers[6] = sc.nextInt();
        return numbers;
    }

    public static int[] createLuckNumber(){
        int[] numbers = new int[7];

        Random r = new Random();
        for (int i = 0; i < numbers.length; i++) {
            //用一个死循环,找出一个1-33没有重复的数字
            while (true){
                int data = r.nextInt(33)+1;
                //判断data是否已经出现过
                //定义一个flag变量,默认data是没有重复的
                boolean flag = true;
                for (int j = 0; j < i; j++) {
                    if (numbers[j] == data){
                        flag = false;
                        break;
                    }
                }
                if (flag){
                    numbers[i] = data;
                    break;
                }
            }
        }

        //为第七位生成一个1-16的随机数
        numbers[numbers.length-1] = r.nextInt(16)+1;
        return numbers;
    }

猜你喜欢

转载自blog.csdn.net/qq_44765534/article/details/126704997