Java双色球中奖模拟系统

双色球系统
双色球中奖条件和奖金表
投注号码由6个红色球号码和1个蓝色球号码组成。红色球号码从1-33中选择6个;蓝色球号码从1-16中选择一个。
双色球中奖条件和奖金表
一等奖 中6+1最高1000万
二等奖 0+6中最高500万
三等奖 中5+1 3000元
四等奖 中5+0 中4+1 200元
五等奖 中4+0 中3+1 10元
六等奖 中2+1 中1+1 中0+1 5元双色球系统
双色球中奖条件和奖金表
投注号码由6个红色球号码和1个蓝色球号码组成。红色球号码从1-33中选择6个;蓝色球号码从1-16中选择一个。
双色球中奖条件和奖金表
一等奖 中6+1最高1000万
二等奖 0+6中最高500万
三等奖 中5+1 3000元
四等奖 中5+0 中4+1 200元
五等奖 中4+0 中3+1 10元
六等奖 中2+1 中1+1 中0+1 5元

分析思路:

1.系统随机生成中奖号码数组(注意随机数的范围1~33和1~16,另外还有数组元素下标)

2.用户输入号码数组(注意数组元素下标)

3.判断红球蓝球各中奖数

4.根据中奖个数对应奖金

package com.learner.java;
/*
双色球系统
双色球中奖条件和奖金表
投注号码由6个红色球号码和1个蓝色球号码组成。红色球号码从1-33中选择6个;蓝色球号码从1-16中选择一个。
双色球中奖条件和奖金表
一等奖 中6+1最高1000万
二等奖 0+6中最高500万
三等奖 中5+1 3000元
四等奖 中5+0 中4+1 200元
五等奖 中4+0 中3+1 10元
六等奖 中2+1 中1+1 中0+1 5元
 */
import java.util.*;
public class Buy_lottery_tickets {
    public static void main(String[] args) {
        /*思路
        1.先随机生成一组中奖号码
        2.用户输入,系统判断
         */
        int[] priArr = new int[7];
        int[] ScanArr=new int[7];
        getPriArr(priArr);
        System.out.println("中奖号码为:>");
        Traver_Arr(priArr);
        getScanArr(ScanArr);
        Traver_Arr(ScanArr);
        int redbullNum=red_judge(priArr,ScanArr);
        int bluebullNum=blue_judge(priArr,ScanArr);
        price_judge(redbullNum,bluebullNum);
    }
    public static void price_judge(int num1,int num2){
        if(num1==6&&num2==1) System.out.println("恭喜你中奖1000万!!!");
        else if(num1==6&&num2==0) System.out.println("恭喜你中奖500万!!!");
        else if(num1==5&&num2==1) System.out.println("恭喜你中奖3000元!!!");
        else if((num1==5&&num2==0)||(num1==4&&num2==1)) System.out.println("恭喜你中奖200元!!!");
        else if((num1==4&&num2==0)||(num1==3&&num2==1)) System.out.println("恭喜你中奖10元!!!");
        else if(num2==1) System.out.println("恭喜你中奖5元!!!");
        else System.out.println("很遗憾你未中奖!");
    }
    public static void getPriArr(int[] priArr){//得到奖池数组
        Random r = new Random();
        for (int i = 0; i < 6; ) {
            int j = r.nextInt(32)+1;
            if (!search_Red(priArr, j)) {
                priArr[i++] = j;
            }
        }
        priArr[6]=r.nextInt(16)+1;
    }
    public static boolean search_Red(int[] arr,int m){//判断红球是否存在
        for (int i = 0; i < arr.length-1; i++) {
            if(arr[i]==m) return  true;
        }
        return false;
    }
    public static void Traver_Arr(int[] arr){//遍历数组
        for (int j : arr) {
            System.out.print(j + " ");
        }
        System.out.println();
    }
    public static void getScanArr(int[] arr){//得到用户输入的数组
        System.out.println("请依次输入6个红球号码:>");
        Scanner input=new Scanner(System.in);
//        System.out.println();//为了方便一开始可以让系统随机生成用户的数组
//        Random input=new Random();
        for (int i = 0; i < 6; i++) {
            arr[i]=input.nextInt();
        }
        System.out.println("请输入1个篮球号码:>");
        arr[6]=input.nextInt();
    }
    public static int red_judge(int[] arr1,int[] arr2){//红球个数
        int num=0;
        for (int j = 0; j < arr2.length-1; j++) {
            for (int i = 0; i < arr1.length-1; i++) {
                if(arr2[j]==arr1[i]){
                    num++;break;
                }
             }
        }
        return num;
    }
    public static int blue_judge(int[] arr1,int[] arr2){//蓝球个数
        if(arr1[6]==arr2[6]) return 1;
        return 0;
    }
}

           当然可以根据需要对中奖号码数组,和用户输入数组进行排序在判断,这里并没有包含各种算法.程序较简单.后续会对程序进行完善和修改.继续努力.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值