栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java-双色球系统

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java-双色球系统

一 .业务分析:

1.双色球中奖规则:

任意规定二等奖500万,一等奖1000万元。

投注号码由6个红色球号码(不可重复)和1个蓝色球号码,红色球1-33,蓝色球1-16

二.程序设计

1.定义三个方法,一个方法来生成中奖号码,第二个方法让用户输入号码,第三个方法来判断中奖情况。

main方法:

​

​​
public static void main(String[] args) {
        int[] haoma = zhongjiang();            //方法1:随机生成中奖号码
        int[] shoudong = xuanhao();            //方法2:用户输入号码
        System.out.println("输入完成!");
        System.out.print("您的投注号码是");
        daying(shoudong);
        panduan(haoma,shoudong);                //方法3:判断中奖情况
    }
​​

​
接下来,编写方法1:随机生成中奖号码:
public static int[] zhongjiang()                                         //中奖号码
    {
        int[] arr = new int[7];
        Random rs = new Random();
        for (int i = 0; i < arr.length; i++) {
            while (true)                                                     //不能出现重复
            {
                int date = rs.nextInt(33) + 1;                          //0-32+1
                boolean flag = true;                                                 //标记符
                for (int j = 0; j < i; j++) {
                    if (arr[j] == date) {
                        flag = false;
                        break;
                    }
                }
                if (flag) {
                    arr[i] = date;
                    break;
                }
            }
        }
        arr[arr.length - 1] = rs.nextInt(16) + 1;
        return arr;
    }
编写方法2:用户输入号码:
public static int[] xuanhao() {                                         //用户输入号码
        int[] nums = new int[7];
        Scanner sc = new Scanner(System.in);
        int rs = 0;
        System.out.println("红色球,在1-33之间输入");                        //红色球号码
        for (int i = 0; i < nums.length-1; i++) {
            System.out.println("第" + (i + 1) + "个号码");
            rs = sc.nextInt();
            int date = rs;
            if (rs >= 1 && rs <= 33) {
                while (true) {                                  //定义死循环,且判断是否重复
                    boolean flag = true;
                    for (int j = 0; j < i; j++) {
                        if (nums[j] == rs) {
                            flag = false;
                            System.out.println("红色球,不能输入重复的数字!请重新输入:");
                            rs = sc.nextInt();
                        }
                    }
                    if (flag) {
                        nums[i] = date;
                        break;
                    }
                }
            } else {
                System.out.println("红色球输入号码不合法!,请重新输入");
                rs = sc.nextInt();
                date = rs;
                if (rs >= 1 && rs <= 33) {
                    while (true) {
                        boolean flag = true;
                        for (int j = 0; j < i; j++) {
                            if (nums[j] == rs) {
                                flag = false;
                                System.out.println("红色球,不能输入重复的数字!请重新输入:");
                                rs = sc.nextInt();
                            }
                        }
                        if (flag) {
                            nums[i] = date;
                            break;
                        }
                    }
                }
            }
        }
        System.out.println("蓝色球,在1-16中输入");
        while(true) {
            int pp=sc.nextInt();
            if (pp<1||pp>16)
            {
                System.out.println("蓝色球输入不合法,请重新输入!");
                pp= sc.nextInt();
            }
            else
            {
                nums[nums.length-1]=pp;
                break;
            }
        }
        return nums;
    }

最后,编写方法3,判断中奖情况:
public static void panduan(int arr1[],int arr2[])               //判断中奖情况
    {
        int shotred =0;
        int shotblue=0;
        for (int i = 0; i < arr2.length-1; i++) {

            for (int j = 0; j < arr1.length-1; j++) {
                if(arr2[i]==arr1[j])
                {
                    shotred++;
                    break;
                }
            }
        }
        if(arr2[arr1.length-1]==arr1[arr1.length-1])
        {
            shotblue++;
        }
        System.out.println("中奖号码是:");
        daying(zhongjiang());
        System.out.println("命中了"+shotred+"个红色球号码");
        System.out.println("命中了"+shotblue+"个蓝色球号码");
        if(shotblue==1&&shotred<=2)
        {
            System.out.println("中奖5元!");
        }
        else if(shotblue==1&&shotred==3||shotblue==0&&shotred==4)
        {
            System.out.println("中奖10元!");
        }
        else if (shotblue==1&&shotred==4||shotblue==0&&shotred==5)
        {
            System.out.println("中奖200元!");
        }
        else if (shotblue==1&&shotred==5)
        {
            System.out.println("中奖3000元!");
        }
        else if (shotblue==0&&shotred==6)
        {
            System.out.println("中奖500万!");
        }
        else if (shotblue==1&&shotred==6)
        {
            System.out.println("中奖1000万!");
        }
        else {
            System.out.println("很遗憾没有中奖,感谢您的参与");
        }
    }


}

遍历数组打印的方法4,

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

三.运行程序:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/999507.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号