JAVA小项目——双色球彩票系统

        今天推荐一个JAVA小项目:双色球彩票系统。

        题目:用户输入6个红色球号码(范围:1——33红色号码每个号码只能出现一次,不能重复)和一个蓝色球号码(范围:1——16),最后与中奖号码(随机生成)对比,进行兑奖。

                注意:球的顺序不管,只要是有这个球就行。

效果图如下:

        

彩票中奖规则如下图:

大致思路: 将整个程序分为3个小模块:1.生成中奖号码  2.玩家输入号码  3.玩家号码与中奖号码进行对比,进行兑奖。

本人代码:

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

public class 双色球彩票系统 {
    public static void main(String[] args) {
        //生成中奖号码
        int[] WinNumber = WinningNumbers();

        //显示中奖号码
        System.out.print("中奖号码为:");
        for (int x : WinNumber) {
            System.out.print(x + " ");
        }
        System.out.println();

        //玩家输入号码
        int[] UserNumber = User();

        //兑奖环节
        ClaimYourPrize(WinNumber, UserNumber);
    }

    //兑奖判断
    public static void ClaimYourPrize(int[] arr1, int[] arr2) {
        //存放红球数量
        int redNumber = 0;
        //存放篮球数量
        int blueNumber = 0;
        //将红球数量找出来
        for (int i = 0; i < arr1.length - 1; i++) {
            for (int j = 0; j < arr1.length; j++) {
                if (arr2[j] == arr1[i]) {
                    redNumber++;
                    break;
                }
            }
        }
        //将蓝球数量找出来
        if (arr1[arr1.length - 1] == arr2[arr2.length - 1]) {
            blueNumber++;
        }
        //根据球的数量就行兑奖
        if (redNumber == 2 && blueNumber == 1 || redNumber == 1 && blueNumber == 1 || redNumber == 0 && blueNumber == 1)
            System.out.print("是六等奖哦!恭喜中奖5元!");
        else if (redNumber == 4 && blueNumber == 0 || redNumber == 3 && blueNumber == 1)
            System.out.print("是五等奖哦!恭喜中奖10元!");
        else if (redNumber == 5 && blueNumber == 0 || redNumber == 4 && blueNumber == 1)
            System.out.print("是四等奖哦!恭喜中奖200元!");
        else if (redNumber == 5 && blueNumber == 1)
            System.out.print("是三等奖哦!恭喜中奖3000元!");
        else if (redNumber == 6 && blueNumber == 0)
            System.out.print("是二等奖哦!恭喜中奖500万元!");
        else if (redNumber == 6 && blueNumber == 1)
            System.out.print("是一等奖哦!恭喜中奖1000万元!");
        else System.out.println("很可惜,没中奖哦,再接再厉哦!");
    }

    //用户输入号码
    public static int[] User() {
        int[] arr = new int[7];
        int usernumber = 0;
        Scanner sc = new Scanner(System.in);
        for (int i = 0; i < arr.length - 1; ) {
            System.out.print("请输入第" + (i + 1) + "个红球:");
            usernumber = sc.nextInt();
            //红球号码只能是1——33
            if (usernumber >= 1 && usernumber <= 33) {
                if (JudgmentRepetition(arr, usernumber)) {
                    arr[i] = usernumber;
                    i++;
                } else System.out.println("该号码已输入,请重新输入!");
            } else System.out.println("号码超出错误,请重新输入!");

        }
        //蓝球号码1——16
        while (true) {
            System.out.print("请输入蓝球号码:");
            usernumber = sc.nextInt();
            if (usernumber >= 1 && usernumber <= 16) {
                arr[arr.length - 1] = usernumber;
                break;
            } else System.out.println("号码输入错误,请重新输入!");
        }

        return arr;
    }

    //判断是否有重复号码,有返回false,没有返回true
    public static boolean JudgmentRepetition(int[] arr, int Number) {
        for (int i = 0; i < arr.length - 1; i++) {
            if (Number == arr[i]) {
                return false;
            }
        }
        return true;
    }

    //随机生成中奖号码
    public static int[] WinningNumbers() {
        int[] Winningnumbers = new int[7];
        Random random = new Random();
        for (int i = 0; i < Winningnumbers.length - 1; ) {
            //生成红色号码
            int Number = random.nextInt(33) + 1;
            //如果号码没重复,就放在组里,反之一直生成新号码
            if (JudgmentRepetition(Winningnumbers, Number)) {
                Winningnumbers[i] = Number;
                i++;
            }
        }
        //生成蓝色号码
        Winningnumbers[Winningnumbers.length - 1] = random.nextInt(16) + 1;
        return Winningnumbers;
    }
}

  • 12
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我很乐意为您解答关于Java课程设计中彩票购买抽奖系统的问题! 彩票购买抽奖系统是一个非常有趣的主题,有着广泛的应用场景。在这个系统中,用户可以购买彩票,并在开奖时参与抽奖。以下是一些实现该系统所需的基本功能: 1. 用户注册和登录:用户需要注册并登录才能购买彩票和参与抽奖。 2. 彩票购买:用户可以在系统中购买不同种类的彩票,例如双色球、大乐透等。在购买彩票时,用户需要选择号码和注数,并支付相应的费用。 3. 彩票兑奖:当彩票中奖时,用户可以在系统中进行兑奖操作。系统需要计算中奖金额,并将奖金发放给用户。 4. 抽奖:在开奖时,系统需要随机生成中奖号码,并计算中奖情况。中奖情况包括一等奖、二等奖、三等奖等多个等级。系统需要根据中奖情况计算中奖金额,并将奖金发放给中奖用户。 5. 数据统计:系统需要记录彩票购买和抽奖的数据,并进行统计分析。例如,系统可以统计每种彩票的销售情况、中奖情况等信息。 以上是彩票购买抽奖系统的基本功能,当然还可以根据实际需求进行扩展。在Java课程设计中,您可以使用Java语言和相关技术实现该系统,例如Java Servlet、JSP、MySQL等。同时,您需要考虑系统的安全性和可靠性,例如用户信息的保护、交易数据的安全等。希望这些信息能对您的课程设计有所帮助!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值