Java学习-----简易双色球彩票游戏

简易双色球小游戏

思路

-整体实现思路:系统随机值和用户选择值分别设置两个数组,然后将值进行一一比对;
-随机取值不重复算法(系统和用户);
-设置一个数组,系统随机取值,取到一个值,就将设置好的数组中该值设置为-1;
-判断是否中奖,中几等奖的逻辑;
-对结果进行排序输出。


public class Lottery{
    public static void main(String[] args){
        int[] sysRedBall = new int[6];//系统生成的红球
        int sysBlueBall = 0;//系统生成的蓝球;
        int[] userRedBall = new int[6];//用户选择的红球
        int userBlueBall = 0;
        int redCount=0;//选中的红球个数
        int blueCount=0;//选中的蓝球个数
        Random r = new Random();
        int[] redBall = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
                16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33};
        int index = 0;
        //生成系统号码
        for(int i=0;i<sysRedBall.length;i++){
            while(true){
                index = r.nextInt(33);
                if(redBall[index] != -1){
                    sysRedBall[i] = redBall[index];
                    redBall[index] = -1;
                    break;
                }
            }
        }
        sysBlueBall = r.nextInt(16)+1;

        //接收用户选号
        System.out.println("请选择红球号码:(1-33)");
        Scanner in = new Scanner(System.in);
        for(int i=0;i<userRedBall.length;i++){
            userRedBall[i] = in.nextInt();
        }
        System.out.println("请选择蓝球号码:(1-16)");
        userBlueBall = in.nextInt();


        //输出结果
        for(int i=0;i<sysRedBall.length-1;i++){
            for(int j=0;j<sysRedBall.length-1-i;j++){
                if(sysRedBall[j]>sysRedBall[j+1]){
                    int temp = sysRedBall[j];
                    sysRedBall[j] = sysRedBall[j+1];
                    sysRedBall[j+1] = temp;
                }
            }
        }
        System.out.print("本期红球号码为:");
        for(int i=0;i<sysRedBall.length;i++){
            System.out.print(sysRedBall[i]+" ");
        }
        System.out.println();

        System.out.print("本期蓝球号码为:");
        System.out.println(sysBlueBall);

        System.out.print("您选择的红球号码为:");
        for(int i=0;i<userRedBall.length-1;i++){
            for(int j=0;j<userRedBall.length-1-i;j++){
                if(userRedBall[j]>userRedBall[j+1]){
                    int temp = userRedBall[j];
                    userRedBall[j] = userRedBall[j+1];
                    userRedBall[j+1] = temp;
                }
            }
        }
        for(int i=0;i<userRedBall.length;i++){
            System.out.print(userRedBall[i]+" ");
        }
        System.out.println();
        System.out.println("您选择的蓝球号码为:"+userBlueBall);

        //验证是否中奖
        for(int i = 0;i<sysRedBall.length;i++){
            for(int j=0;j<userRedBall.length;j++){
                if(sysRedBall[i]==userRedBall[j]){
                    redCount++; 
                    break;
                }
            }
        }
        if(sysBlueBall == userBlueBall){
            blueCount++;
        }

        //判断是否中奖
        if(redCount == 6 && blueCount == 1){
            System.out.println("恭喜你,中了一等奖,奖金500万元");
        }else if(redCount == 6 && blueCount == 0){
            System.out.println("恭喜你,中了二等奖,奖金10万元");
        }else if(redCount == 5 && blueCount == 1){
            System.out.println("恭喜你,中了三等奖,奖金3000元");
        }else if((redCount ==5)||(redCount == 4 && blueCount == 1)){
            System.out.println("恭喜你,中了四等奖,奖金200元");
        }else if(redCount == 4 || (redCount == 3 && blueCount == 1)){
            System.out.println("恭喜你,中了五等奖,奖金10元");
        }else if(blueCount ==1){
            System.out.println("恭喜你,中了六等奖,奖金5元");
        }else{
            System.out.println("很遗憾,中奖离你一步之遥");
        }
    }
}

程序运行图如下:

这里写图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值