模拟双色球

双色球系统介绍

代码展示

可以自己玩玩

package com.zhuxuan.test;

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

public class Test7 {
    public static void main(String[] args) {
        System.out.println("欢迎光顾小店,看您面色红润,今天一定好运,来买一注吧?");
        //1.生成一个中奖号码
        //  6红(1~33无重复)1蓝(1~16)
        int[] number = createNumber();
        //2.用户输入一个号码
        int[] user = getUserNumber();
        //3.对比,判断中奖结果
        prize(number, user);
    }

    public static void prize(int[] number, int[] user) {
        int redCount = 0, blueCount = 0;
        //对照红球命中个数
        for (int i = 0; i < user.length - 1; i++) {
            if (isExit(user[i], number,i)) {
                redCount++;
            }
        }
        //检查蓝球是否命中
        if (user[user.length - 1] == number[number.length - 1])
            blueCount++;
        //判断奖项
        System.out.println("本期中奖号码为:");
        for (int i = 0; i < number.length; i++) {
            System.out.print(number[i] + " ");
        }
        System.out.println();
        System.out.println("您购买的号码为:");
        for (int i = 0; i < user.length; i++) {
            System.out.print(user[i] + " ");
        }
        System.out.println();
        if ((redCount + blueCount) >= 1 && (redCount + blueCount) <= 3) {
            System.out.println("恭喜您中了六等奖,获得奖金5元!");
        } else if ((redCount + blueCount) == 4) {
            System.out.println("恭喜您中了五等奖,获得奖金10元!");
        } else if ((redCount + blueCount) == 5) {
            System.out.println("恭喜您中了四等奖,获得奖金200元!");
        } else if (redCount == 5 && blueCount == 1) {
            System.out.println("恭喜您中了三等奖,获得奖金3000元!");
        } else if (redCount == 6 && blueCount == 0) {
            System.out.println("恭喜您中了二等奖,获得奖金最高500万元!");
        } else if (redCount == 6 && blueCount == 1) {
            System.out.println("恭喜您!!中了一等奖!!获得奖金最高1000万元!!");
        } else {
            System.out.println("很遗憾本次未中奖,感谢您的支持,欢迎再来。");
        }
    }

    public static int[] getUserNumber() {
        Scanner sc = new Scanner(System.in);
        int[] user = new int[7];
        for (int i = 0; i < 6; ) {
            System.out.println("请输入第" + (i + 1) + "个红球号码");
            int now = sc.nextInt();
            if (now >= 1 && now <= 33) {
                if (!isExit(now, user,i)) {
                    user[i] = now;
                    i++;
                } else {
                    System.out.println("号码重复,请重新输入");
                }
            } else {
                System.out.println("输入的号码超出范围,请重新输入(1~33)");
            }
        }
        System.out.println("请输入篮球号码");
        while (true) {
            int blue = sc.nextInt();
            if (blue >= 1 && blue <= 16) {
                user[user.length - 1] = blue;
                break;
            } else {
                System.out.println("输入的号码超出范围,请重新输入(1~16)");
            }
        }
        return user;
    }

    public static int[] createNumber() {
        int[] number = new int[7];
        Random r = new Random();
        for (int i = 0; i < 6; ) {
            int oneRed = r.nextInt(33) + 1;
            if (!isExit(oneRed, number, i)) {//不重复,就放入
                number[i] = oneRed;
                i++;
            }
        }
        number[number.length - 1] = r.nextInt(16) + 1;
        return number;
    }

    public static boolean isExit(int x, int[] arr, int end) {
        for (int i = 0; i <= end; i++) {
            if (x == arr[i]) return true;
        }
        return false;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值