使用java实现了模拟双色球/**1.接受用户输入,6红,1蓝2.随机生成 6红 1蓝3.比较系统的号码和用户号码,记录个数3.验证是否中奖5.系统号码排序6.公布结果*/import java.util.Scanner;import java.util.Random;public class Test9{ public static void main(String[] args){ int[] userRedBall = new int[6]; int userBlueBall = 0; int[] sysRedBall = new int[6]; int sysBlueBall =0; int redCount = 0; int blueCount = 0; int[] redBall = new int[33]; int[] blueBall = new int[13]; //填写红球备选区数字 for(int i=0;i<redBall.length;i++){ redBall[i] = i+1; } //接收用户选号 System.out.PRintln("双色球游戏开始!"); System.out.println("请问是选择1:机选 2:手选"); Scanner input = new Scanner(System.in); Random r = new Random(); boolean flag = true; while(flag){ int isAuto = input.nextInt(); switch(isAuto){ case 1://机选 int index = -1;//下标 System.out.println("机选的红球是:/t/t蓝球"); for(int i=0;i<userRedBall.length;i++){ index = r.nextInt(redBall.length-i);//将随机到的数字赋值给数组下标 userRedBall[i] = redBall[index];//将红球中的随机数赋值给用户红球中 int temp = redBall[index]; redBall[index] = redBall[redBall.length-i-1]; redBall[redBall.length-i-1] = temp; //redBall[index] = redBall[index]+redBall[redBall.length-i-1];//将随机抽到的数调整到当前数组的最后一位 //redBall[redBall.length-i-1] = redBall[index]-redBall[redBall.length-i-1]; //redBall[index] = redBall[index]-redBall[redBall.length-i-1]; System.out.print(userRedBall[i]+" "); } userBlueBall = r.nextInt(13)+1;//机选篮球 System.out.println("/t"+userBlueBall); //for(int i=0;i<blueBall.length;i++) flag = false; break; case 2://手选 System.out.println("请选择6个红球号码(1~33):"); for(int i=0;i<userRedBall.length;i++){ userRedBall[i] = input.nextInt(); } System.out.println("请选择1个蓝球号码(1~13):"); userBlueBall = input.nextInt(); flag = false; break; default: System.out.println("请问是选择1:机选 2:手选"); } } //系统随机产生的号码 int index = -1;//下标 for(int i=0;i<sysRedBall.length;i++){ index = r.nextInt(redBall.length-i);//将随机到的数字赋值给数组下标 sysRedBall[i] = redBall[index];//将红球中的随机数赋值给用户红球中 int temp = redBall[index]; redBall[index] = redBall[redBall.length-i-1]; redBall[redBall.length-i-1] = temp; //redBall[index] = redBall[index]+redBall[redBall.length-i-1];//将随机抽到的数调整到当前数组的最后一位 //redBall[redBall.length-i-1] = redBall[index]-redBall[redBall.length-i-1]; //redBall[index] = redBall[index]-redBall[redBall.length-i-1]; } sysBlueBall = r.nextInt(13)+1; //统计结果,判断是两者红球个数redcount for( int i=0;i<userRedBall.length;i++){ for(int j=0;j<sysRedBall.length;j++){ if(userRedBall[i]==sysRedBall[j]){ int temp = sysRedBall[j]; sysRedBall[j] = sysRedBall[sysRedBall.length-redCount-1]; sysRedBall[sysRedBall.length-redCount-1] = temp; //sysRedBall[j] = sysRedBall[j] +sysRedBall[sysRedBall.length-redCount-1]; //sysRedBall[sysRedBall.length-redCount-1] = sysRedBall[j] -sysRedBall[sysRedBall.length-redCount-1]; //sysRedBall[j] = sysRedBall[j] -sysRedBall[sysRedBall.length-redCount-1]; redCount++; break; } } } if(userBlueBall == sysBlueBall){ blueCount = 1; } //排序本期中奖号码 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; //sysRedBall[j] = sysRedBall[j] +sysRedBall[j+1]; //sysRedBall[j+1] = sysRedBall[j]-sysRedBall[j+1]; //sysRedBall[j] = sysRedBall[j] -sysRedBall[j+1]; } } } //打印本期中奖号码 System.out.println("本期中奖号码为:/t蓝球"); for(int i=0;i<sysRedBall.length;i++){ System.out.print(sysRedBall[i]+" "); } System.out.println("/t"+sysBlueBall); //判断是否中奖 System.out.println("******************************"); if(blueCount==0 && redCount<=3 ){ System.out.println("/t 没中奖!"); }else if((blueCount==1)&&redCount<3){ System.out.print("/t 六等奖:5块!"); }else if((redCount==3 &&blueCount==1)||(redCount==4 &&blueCount==0)){ System.out.print("/t 五等奖:10块!"); }else if((redCount==4 &&blueCount==1)||(redCount==5 &&blueCount==0)){ System.out.print("/t 四等奖:200块!"); }else if(redCount==5 &&blueCount==1){ System.out.print("/t 三等奖:3000块!"); }else if(redCount==6 &&blueCount==0){ System.out.print("/t 二等奖:150万!"); }else if(redCount==6 &&blueCount==1){ System.out.print("/t 一等奖:500万!"); }else System.out.print("/t 系统错误"); System.out.println("******************************"); }}
新闻热点
疑难解答