A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

实现步骤:
        1、系统生成一个篮球和6个红球,并存储起来
        2、接收用户选号,一个篮球和六个红球
        3、验证系统号码与用户号码是否匹配(是否中奖)
        4、公布本期中奖号码
import java.util.Random;
import java.util.Scanner;
/**
        应用案例之一:模拟双色球彩票程序
        实现步骤:
        1、系统生成一个篮球和6个红球,并存储起来
        2、接收用户选号,一个篮球和六个红球
        3、验证系统号码与用户号码是否匹配(是否中奖)
        4、公布本期中奖号码
*/

class  DoubleBall{
        public static void main(String[] args) {
                int sysBlueBallNum;//系统生成的篮球
                int[]sysRedBallNum=new int[6];//系统生成的红球
                int userBlueBallNum;//用户选择的篮球
                int[]userRedBallNum=new int[6];//用户选择的红球
               
                int blueBall=0;//判断篮球号码是否正确
                int redBallCount=0;//记录红球正确的数量

                Random r=new Random();//创建生成随机的工具类
                Scanner input=new Scanner(System.in);

                int[] redNum={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};
                sysBlueBallNum=r.nextInt(16)+1;//产生系统的篮球号码(16代表0-15,系统随机从16个中产生1个球)
                //随机生成红球号码
                for(int i=0;i<sysRedBallNum.length;i++){
                        while(true){  //while控制不断循环
                                int index = r.nextInt(33);  //随机33个数的下标
                                 //如果随机数的下标不为0
                                if(redNum[index]!=0){
                                        sysRedBallNum[i]=redNum[index];//就把下标的那个数赋给i位置
                                        redNum[index]=0;//
                                        break;
                                }
                        }
                       
                }

                System.out.println("双色球彩票选号开始……祝你好运!");
                System.out.println("请选择篮球号码(16选1):");
                userBlueBallNum = input.nextInt();
                System.out.println("请选择红球号码(33选6):");
                for(int i=0;i<userRedBallNum.length;i++){
                        userRedBallNum[i] = input.nextInt();
                }

                //验证篮球和红球的正确个数
                //----验证篮球
                if(userBlueBallNum==sysBlueBallNum){
                        blueBall=1;
                }
                //----验证红球
                for( int i=0;i<userRedBallNum.length;i++){
                        for(int j=0;j<sysRedBallNum.length;j++){
                                if(userRedBallNum[i]==sysRedBallNum[j]){
                                        redBallCount++;
                                        break;
                                }
                        }
                }
                //判断是否中奖
                if(blueBall==1 && redBallCount==6){
                        System.out.println("恭喜你,中了一等奖500万!");
                }else if(redBallCount==6){
                        System.out.println("恭喜你,中了二等奖!");
                }else if (blueBall==1 && redBallCount==5){
                        System.out.println("恭喜你,中了三等奖3000");
                }else if (redBallCount==5 ||(redBallCount==4 && blueBall==1)){
                        System.out.println("恭喜你,中了四等奖200");
                }else if(redBallCount==4 ||(redBallCount==3 && blueBall==1)){
                        System.out.println("恭喜你,中了五等奖10");
                }else if(blueBall==1){
                        System.out.println("恭喜你,中了六等奖5");
                }else{
                        System.out.println("革命尚未成功,同志仍需努力……");
                }
                //公布本期中奖号码
                int temp;
                for(int i=0;i<sysRedBallNum.length-1;i++){
                        for(int j=0;j<sysRedBallNum.length-1-i;j++){
                                if(sysRedBallNum[j]>sysRedBallNum[j+1]){
                                        temp=sysRedBallNum[j];
                                        sysRedBallNum[j]=sysRedBallNum[j+1];
                                        sysRedBallNum[j+1]=temp;
                                }
                        }
                }
                //输出
                System.out.println("本期的中奖号码为:");
                System.out.print("红球:");
                for(int i=0;i<sysRedBallNum.length;i++){
                        System.out.print(sysRedBallNum[i]+" ");
                }
                System.out.println();
                System.out.print("篮球:"+sysBlueBallNum);

        }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马