java,双色球系统


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

public class helloworld {
    public static void main(String[] ages) {
        //定义一个数组,将1-33放入其中
        //创建brr存放作为红球中奖存放的数字数组
        /*判断输入的数据是否重复,其中使用方法alike进行布尔判断是否是重复值
        使用if语句判断是否在红色球的范围内*/
        /*键盘录入蓝球数据,判断是否符合蓝球范围
        定义方法firstPrize1判断是否中奖,并且引用方法judge使中奖号码不重复
        判断输入的红色球有几个是中奖的,将两个结合,引用方法
         extracted判断中的几等奖,或者没有中奖*/

        Random r = new Random();
        Scanner sc = new Scanner(System.in);
        int[] arr = new int[33];
        for (int i = 0, j = 1; i < arr.length; i++, j++) {
            arr[i] = j;
        }
        int[] crr = new int[6];//输入的6个红色球的数字存储在这里
        //判断输入数据是否正确并存储正确输入的数据
        for (int i = 0; i < crr.length; i++) {
            //System.out.println("标记");
            System.out.println("请输入" + (i + 1) + "个红色球数字,提示范围在1-33,顺序不分先后");
            while (true) {
                int rad = sc.nextInt();
                boolean h = alike(crr, rad);
                if (rad <= 33 && rad > 0) {
                    if (h) {
                        crr[i] = rad;
                        //System.out.println(h);
                        System.out.println("输入正确");
                        break;
                    } else {
                        System.out.println("输入的红色球重复了,请重新输入");
                        continue;
                    }
                } else {
                    System.out.println("输入的红色球不符合规范,请重新输入");
                    continue;
                }
            }
        }
        //获取自己蓝色球数字
        System.out.println("请输入蓝色球数字,提示范围在1-16,顺序不分先后");
        while (true) {//判断蓝色球输入的格式是否正确
            int blue = sc.nextInt();
            if (blue <= 16 && blue > 0) {
                //随机蓝球的数字
                int blue2 = r.nextInt(16) + 1;
                firstPrize1(arr, crr, blue, blue2);
                break;
            } else {
                System.out.println("输入的蓝色球不符合规范,请重新输入");
                continue;
            }
        }
    }

    //判断输入的红球号码是否相同,相同的话需要重新输入
    public static boolean alike(int[] crr, int rad) {
        for (int i = 0; i < crr.length; i++) {
            if (crr[i] == rad) {
                return false;
            }
        }
        return true;
    }

    //判断是否中了奖
    public static void firstPrize1(int[] arr, int[] crr, int blue, int blue2) {
        int[] brr = new int[6];//红色球中奖号码
        //获取红色球的号码数字
        Random r = new Random();
        int x = 0;
        for (int i = 0; x < brr.length; i++) {
            int ran = r.nextInt(33) + 1;
            boolean b = judge(arr, brr, ran);
            if (b) {
                brr[x] = arr[ran];
                x++;
            }
        }
        //遍历brr1数组,输出红色球中奖号码
        System.out.println("红色球结果是:");
        for (int i = 0; i < brr.length; i++) {
            System.out.print(brr[i] + " ");
        }

        //输出一等奖蓝色球中奖号码
        System.out.println("\n"+"蓝色球结果是:"+"\n" + blue2);
        //判断蓝色球是否符合一等奖的蓝色球结果,并输出奖项
        int sum = 0;//判断有几个和中奖号码相同的,以便判断是几等奖
        extracted(crr, blue, blue2, brr, sum);

    }

    //让红色球随机不重复,有重复值退出方法
    public static boolean judge(int[] arr, int[] brr, int ran) {
        for (int j = 0; j < brr.length; j++) {
            if (arr[ran] == brr[j]) {
                return false;
            }
        }
        return true;
    }

    //判断有没有中奖
    public static int award(int[] crr, int[] brr, int sum) {
        for (int i = 0; i < crr.length; i++) {
            //
            for (int j = 0; j < brr.length; j++) {
                if (crr[i] == brr[j]) {
                    sum++;
                    break;
                }
            }
        }
        return sum;
    }

    //判断中了几等奖并输出
    public static void extracted(int[] crr, int blue, int blue2, int[] brr1, int sum) {
        int bo = award(crr, brr1, sum);
        if ((bo == 6) && (blue == blue2)) {
            System.out.println("恭喜,您中了一等奖,奖金1000万");
        } else if ((bo == 6) && (blue != blue2)) {
            System.out.println("恭喜,您中了二等奖,奖金500万");
        } else if ((bo == 5) && (blue == blue2)) {
            System.out.println("恭喜,您中了三等奖,奖金3000元");
        } else if ((bo == 5) && (blue != blue2)) {
            System.out.println("恭喜,您中了四等奖,奖金200元");
        } else if ((bo == 4) && (blue == blue2)) {
            System.out.println("恭喜,您中了四等奖,奖金200元");
        } else if ((bo == 4) && (blue != blue2)) {
            System.out.println("恭喜,您中了五等奖,奖金10元");
        } else if ((bo == 3) && (blue == blue2)) {
            System.out.println("恭喜,您中了五等奖,奖金10元");
        } else if ((bo == 2) && (blue == blue2)) {
            System.out.println("恭喜,您中了五等奖,奖金10元");
        } else if ((bo == 1) && (blue == blue2)) {
            System.out.println("恭喜,您中了六等奖,奖金5元");
        } else if ((bo == 0) && (blue == blue2)) {
            System.out.println("恭喜,您中了六等奖,奖金5元");
        } else {
            System.out.println("您没有中奖");
        }
    }
}

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值