双色球彩票系统---(java实现)

双色球彩票系统:
需求:投注号码由6个红色号码和1个蓝色球号码组成。红色球号码从1-33中选择,蓝色球号码从1-16当中选择
*       红  蓝
* 一等奖  6  1 
* 二等奖  6  0
* 三等奖  5  1
* 四等奖  5  0
*        4  1
* 五等奖  4  0
*        3  1
*        2  1
* 六等奖  1  1
*        0  1

分别给自定义自己的每种奖项,给予不同的现金奖励!!!!

package demo;

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

/*
* 案例:双色球彩票系统
* 需求:投注号码由6个红色号码和1个蓝色球号码组成。红色球号码从1-33中选择,蓝色球号码从1-16当中选择
*       红  蓝
* 一等奖  6  1
* 二等奖  6  0
* 三等奖  5  1
* 四等奖  5  0
*        4  1
* 五等奖  4  0
*        3  1
*        2  1
* 六等奖  1  1
*        0  1
* */
public class UnionLottoLotteryTicket {
    public static void main(String[] args) {
        //1.随机生成7个中奖号码
        int [] arrprize = createNumber();

        System.out.println("==========================");
        for (int i = 0; i < arrprize.length; i++) {
            System.out.print(arrprize[i]+" ");
        }
        System.out.println("\n"+"==========================");
        //2.让用户去输入彩票号码
        int [] arrUser =UserInputNumber();
        //3.判断中奖的情况
        int redcount = 0;
        int bluecount = 0;
        //判断红球的中奖情况
        for (int j = 0; j < arrprize.length-1; j++) {
            int rednumber = arrUser[j];
            for (int k = 0; k < arrprize.length - 1;k++ ) {
                if(rednumber == arrprize[k]){
                    redcount++;

                    //如果找到就判断下个红球号码是否中奖
                    break;
                }
            }
        }
        //判断篮球的中奖情况
        while (true) {
            int bluenumber = arrUser[arrUser.length-1];
            if(bluenumber == arrprize[arrprize.length-1]){
                bluecount++;
                break;
            }
        }

        //判断是否中奖
        if(redcount==6&&bluecount==1){
            System.out.println("恭喜你中奖1000万元");
        }else if(redcount == 6&&bluecount==0){
            System.out.println("恭喜你中奖500万元");
        }else if(redcount == 5&&bluecount == 1){
            System.out.println("恭喜你中奖3000元");
        }else if((redcount==5&&bluecount==0)||(redcount==4&&bluecount==1)||(redcount==4&&bluecount==0)){
            System.out.println("恭喜你中奖200元");
        }else if(((redcount==3&&bluecount==1)||(redcount==2&&bluecount==1))){
            System.out.println("恭喜你中奖10元");
        }else if(((redcount==1&&bluecount==1)||(redcount==0&&bluecount==1))){
            System.out.println("恭喜你中奖5元");
        }else {
            System.out.println("谢谢参与,谢谢惠顾!");
        }


    }


    /*
    * 随机创建7个中奖号码
    * */
    public static int[] createNumber(){
        //声明数组去保存获奖的号码有7个好中奖号码
        int [] arr = new int[7];
        //先获取红球的获奖号码
        Random r = new Random();
        for (int i = 0; i < arr.length -1; ) {
            //能取大不取小所以需要加1
            int redNumber=  r.nextInt(33)+1;
            boolean flag = contains(arr,redNumber);
            if(!flag){
                arr[i] = redNumber;
                i++;
            }



        }
        //随机生成篮球的中奖号码
        int blueNumber = r.nextInt(16)+1;
        arr[arr.length-1] = blueNumber;
        return arr;
    }
    /*
    * 判断红球有没有重复被抽到过
    * */
    public static boolean contains(int [] arr,int number){
        for (int i = 0; i < arr.length; i++) {
            if(arr[i] == number){
                return true;
            }
        }
        return false;
    }
    /*
    * 输入用户购买的彩票
    * */
    public static int[] UserInputNumber(){
        //声明数组去保存7个彩票号码
        int [] arr = new int[7];
        Scanner sc = new Scanner(System.in);
        //输入用户的红球号码
        for (int i = 0; i < arr.length-1;) {
            System.out.println("请输入您的第"+(i+1)+"个号码");
            int tempred  = sc.nextInt();
            if(tempred>=1&&tempred<=33){
                boolean flag = contains(arr,tempred);
                if(!flag){
                    arr[i] = tempred;
                    i++;
                }else {
                    System.out.println("您输入的号码已经存在请重新输入");
                }

            }else{
                System.out.println("您输入的号码有误,请重新输入");
            }
        }
        //输入用户的篮球号码
        System.out.println("请输入篮球号码:");
        while (true) {
            int tempblue = sc.nextInt();
            if(tempblue>=1&&tempblue<=16){
                arr[arr.length-1] = tempblue;
                break;
            }else{
                System.out.println("您输入的号码有误,去重新输入");
            }
        }
        return arr;

    }


}

运行结果:

猜你喜欢

转载自blog.csdn.net/m0_52725750/article/details/132282653