【入门级别,非面向对象】双色球系统java实现彩票双色球的中奖匹配

规则:

1、一注双色球由7个球组成,6个红球,1个蓝球

2、红球的范围: [1, 33], 蓝球的范围: [1, 16]

3、红球不允许重复

4、一注双色球中,红球需要是升序排序的

有两种选择方式,一是自己选择双色球号码,另一种是机器自动生成双色球号码。

  1. 输入一个自己选择的双色球(6个红球,1个蓝球)

  2. 随机生成一注双色球(可用于机选号码与中奖号码的生成)

  3. 对比两注双色球,计算中奖金额

双色球中奖规则与奖金

【入门级别,非面向对象】双色球系统java实现彩票双色球的中奖匹配_第1张图片

下边是代码实现:

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

public class Ball {
    public static void main(String[] args) {
        Random random=new Random();//定义随机数生成
        long date1=System.currentTimeMillis();
   //     int red[]=new int[]{1,7,31,26,17,11};
        int red[]=createRandomArray();//随即生成一个红色球数组
       // int blue=7;
        int blue=random.nextInt(16)+1;
        int redInput[];
        int blueInput;
        System.out.println("请输入您的选择:");
        System.out.println("1.自选号码 2.机选号码");
        System.out.print("> ");
        Scanner scan=new Scanner(System.in);
        int chance=scan.nextInt();
        switch (chance){
            case 1:
                System.out.println("请输入您要选择的号码(红球[1,33]):");
                System.out.print("> ");
                redInput=createRandomArray();
                for(int i=0;i<6;i++)
                    redInput[i]=scan.nextInt();
                System.out.println("请输入您要选择的号码(蓝球[1,16]):");
                System.out.print("> ");
                blueInput=scan.nextInt();
                matching(red,redInput,blue,blueInput);
                break;
            case 2:
                //random.nextInt(num),产生的数范围是[0,num),因此加1即可得到[1,num+1)
                redInput=createRandomArray();
             //   for(int i=0;i<6;i++)
              //      redInput[i]=random.nextInt(33)+1;
                blueInput=random.nextInt(16)+1;
              //  printArray(redInput);
             //   System.out.println("blue="+blueInput);
                matching(red,redInput,blue,blueInput);
                break;
            default:
                System.out.println("输入错误,请重新输入");
                break;
        }
        long date2=System.currentTimeMillis();
       // System.out.println("系统运行时间"+(date2-date1)+"ms");

    }
    //生成随机数组.
    public static int[] createRandomArray(){
        Random random=new Random();
        int[] array=new int[6];
        for(int i=0;i<6;i++)
            array[i]=random.nextInt(33)+1;
        return array;
    }
    //定义枚举类型,用来记录奖项的级别和奖金。
    public enum reward{
        一等奖(1,10000000),
        二等奖(2,5000000),
        三等奖(3,3000),
        四等奖(4,200),
        五等奖(5,10),
        六等奖(6,5),
        ;
        private int level;
        private int rewardingMoney;

        public int getLevel() {
            return level;
        }

        public void setLevel(int level) {
            this.level = level;
        }

        public int getRewardingMoney() {
            return rewardingMoney;
        }

        public void setRewardingMoney(int rewardingMoney) {
            this.rewardingMoney = rewardingMoney;
        }

        reward(int i, int i1) {
            this.level=i;
            this.rewardingMoney=i1;
        }
    };
    //打印数组
    public static void printArray(int[] array){
        for(int i:array)
            System.out.print(i+" ");
        System.out.println();
    }
    //交换数值
    public static void swap(int[] a,int i,int j){
        int temp;
        temp=a[j];
        a[j]=a[i];
        a[i]=temp;
    }
    //直接插入排序
    public static void insertSort(int []a){
        int j;
        for(int i=1;i0 && a[j]

你可能感兴趣的:(java,intellij,idea)