双色球(6红1蓝)游戏

此次规则是从1-33抽6个红球,且球号不能重复,从1-16中抽取一个篮球,根据猜中的号码来判断奖项
    六等奖:0红1蓝、1红1蓝
    五等奖:2红1蓝、3红1蓝
    四等奖:4红0蓝、4红1蓝
    三等奖:5红0蓝、5红1蓝
    二等奖:6红0蓝
    一等奖:6红1蓝
//代码块中的判断语句也可用switch case 语句简化
//前6个红球号码只要有相同的就算中奖,不分顺序。例如:奖:123456,输入654321,同样是中奖。
import java.util.Random;
import java.util.Scanner;
public class Demo {
    public static void main(String[] args) {
        int[] arr = hoaMa();
        //判断红球号码是否有误
        for (int i = 0; i < arr.length; i++) {
            System.out.print("  中奖号码"+arr[i]);
        }
        System.out.println();
        int[] arr1 = userInputNumber();
        int a1 = 0,b1 = 0;
        //用变量a1得红色号相同个数
        for (int i = 0; i < arr.length - 1; i++) {
            for (int i1 = 0; i1 < arr1.length - 1; i1++) {
                if(arr1[i1] == arr[i]){
                    a1++;
                    break;
                }
            }
        }
        //用变量b1判断蓝色号是否相同
        if(arr[arr.length - 1] == arr1[arr1.length - 1]){
            b1 = 1;
        }
        if(a1 == 0 && b1 ==1){
            System.out.println("中六等奖奖5元");
        }else if(a1 == 1 && b1 == 1){
            System.out.println("中六等奖奖5元");
        }else if(a1 == 2 && b1 == 1){
            System.out.println("中五等奖奖10元");
        }else if(a1 == 3 && b1 == 1){
            System.out.println("中五等奖奖10元");
        }else if(a1 == 4 && b1 == 1){
            System.out.println("中四等奖奖200元");
        }else if(a1 == 4 && b1 == 0){
            System.out.println("中四等奖奖200元");
        }else if(a1 == 5 && b1 == 1){
            System.out.println("中三等奖奖3000元");
        }else if(a1 == 5 && b1 == 0){
            System.out.println("中三等奖奖3000元");
        }else if(a1 == 6 && b1 == 0){
            System.out.println("中二等奖奖500万元");
        }else if(a1 == 6 && b1 == 1){
            System.out.println("中一等奖奖1000万元");
        }else{
            System.out.println("很抱歉您没有中奖");
        }
    }
    //定义一个方法让用户输入一个号码
    public static int[] userInputNumber(){
        int[] arr1 = new int[7];
        Scanner input = new Scanner(System.in);

        for (int i = 0; i < 6; i++) {
            System.out.println("请输入第"+(i+1)+"红球号码");
            arr1[i] = input.nextInt();
            while(arr1[i] < 1 || arr1[i] > 33){
                System.out.println("您输入的第"+(i+1)+"红球号码不符合规定,请重新输入第"+(i+1)+"红球号码");
                arr1[i] = input.nextInt();
            }
        }
        System.out.println("请输入蓝球号码");
        arr1[arr1.length - 1] = input.nextInt();
        while(arr1[arr1.length - 1] < 1 || arr1[arr1.length - 1] > 17){
            System.out.println("您输入的篮球号码不符合规定,请重新输入蓝球号码");
            arr1[arr1.length - 1] = input.nextInt();
        }
        return arr1;
    }
    //定义一个方法,接受传回的数组
    //数组前6位是红球号码,最后一位是蓝球号码
    public static int[] hoaMa(){
        //定义一个数组存放号码
        int[] arr = new int[7];
        Random r = new Random();
        for (int i = 0; i < 6;) {
            int redNum = r.nextInt(33) + 1;
            boolean flag = panDuan(arr,redNum);
            if(!flag){
                arr[i] = redNum;
                //当相同时i不进行自增一直循环,直到不相同;
                i++;
            }
        }
        arr[arr.length - 1] = r.nextInt(16) + 1;
        return arr;
    }
    //定义一个方法判断产生的红球号码是否重复
    public static boolean panDuan(int[] arr,int number){
        for (int i = 0; i < 6; i++) {
            if(arr[i] == number){
                return true;
            }
        }
        return false;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值