彩票://双色球中奖条件和奖金表见同级目录图片 //投注号码由6个红色球号码和1个篮色球号码组成,//红色球号码从1-33中选择,蓝色球号码从1-1

package practice;

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

public class z8 {
    public static void main(String[] args) {
        //彩票:
        //双色球中奖条件和奖金表见同级目录图片
        //投注号码由6个红色球号码和1个篮色球号码组成,
        //红色球号码从1-33中选择,蓝色球号码从1-16中选择

        //分析:

        //中奖系统随机生成中奖号码
        System.out.println("***************************************");
        int []arr=createNumber();
        System.out.println("中奖号码为(随机生成的中奖号码,为了方便显示出来):");
        System.out.println();

        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i]+" ");
        }
        System.out.println();
        System.out.println();
        System.out.println("***************************************");

        //用户输入需要购买的彩票号码
        int [] userInputArr=userInputNumber();

        /*for (int i = 0; i < userInputArr.length; i++) {
            System.out.println(userInputArr[i]);
        }*/

        //判断用户中奖情况
        int redCount=0;//红球
        int blueCount=0;//蓝球

        //判断红球,前后两数组中的数据顺序不影响
        for (int i = 0; i < arr.length-1; i++) {
            for (int j = 0; j < userInputArr.length-1; j++) {
                if(arr[i]==userInputArr[j]){
                    redCount++;
                }
            }
        }
        //判断蓝球
        if(arr[arr.length-1]==userInputArr[userInputArr.length-1]){
            blueCount++;
        }

        System.out.println("---------------------------------------");
        System.out.print("你中奖的红色球号码个数有"+redCount+"个 ");
        System.out.print("蓝色球号码个数有"+blueCount+"个");
        System.out.println();
        System.out.println("即将揭晓你的中奖情况:");
        System.out.println();
        System.out.println("=======================================");

        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("恭喜你获得三等奖,中奖50万元!!!");
        }else if((redCount == 5 && blueCount == 0)||(redCount == 4 && blueCount == 1)){
            System.out.println("恭喜你获得四等奖,中奖5万元!!!");
        }else if((redCount == 3 && blueCount == 1)||(redCount == 2 && blueCount == 1)||redCount == 4 && blueCount == 0){
            System.out.println("恭喜你获得五等奖,中奖1万元!!!");
        }else if(redCount == 1 && blueCount == 1){
            System.out.println("恭喜你获得六等奖,中奖5000元!!!");
        }else if(redCount == 0 && blueCount == 1){
            System.out.println("恭喜你获得七等奖,中奖1000万元!!!");
        }else{
            System.out.println("很遗憾你没有中奖,谢谢参与!");
        }
        System.out.println("***************************************");


    }
    //写入方法:
    //中奖系统随机生成中奖号码
    public static int[] createNumber(){
        //用数组存入中奖号码,表示奖池
        int []arr=new int[7];
        Random r=new Random();
        //生成6个红色球号码
        //号码不能重复

        for (int i = 0; i < arr.length-1; ) {
            int redNumber=r.nextInt(33)+1;
            for (int j = 0; j < arr.length-1; j++) {
                if(contains(arr,redNumber)==false) {
                    arr[i] = redNumber;
                    i++;
                }else{

                }
            }

        }
        int blueNumber=r.nextInt(16)+1;
        arr[arr.length-1]=blueNumber;

        return arr;
    }

    public static int[] userInputNumber(){
        //数组存入用户输入的彩票号码
        int []userInputArr=new int[7];
        Scanner sc=new Scanner(System.in);
        //输入红色球号
        //号码不能重复
        for (int i = 0; i < userInputArr.length-1; ) {

            System.out.println("请输入你的第"+(i+1)+"个红色球号码:");
            int redNumber=sc.nextInt();

            if ((!contains(userInputArr, redNumber))&&redNumber>=1&&redNumber<=33){
                userInputArr[i] = redNumber;
                i++;
            }else{
                System.out.println("你输入的红色球号码不符合规定,请重新输入!");
            }
        }

        //输入蓝色球号码

        System.out.println("请输入你的第7个蓝色球号码:");
        int blueNumber=sc.nextInt();
        while(true) {
            if (blueNumber >= 1 && blueNumber <= 16) {
                userInputArr[userInputArr.length - 1] = blueNumber;
                //输入正确则跳出循环
                break;
            } else {
                System.out.println("你输入的蓝色球号码超出范围,请重新输入!");
            }
        }

        return userInputArr;
    }

    //方法体:判断输入或者随机生成的数是否重复

    public static boolean contains(int []arr,int number){
        boolean flag=false;
        for (int i = 0; i < arr.length-1; i++) {
            if(arr[i]==number){
                flag=true;
            }
        }
        return flag;
    }
    

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值