这篇源代码优点小问题:有时间再调试 package zaizhu.da; import java.util.Arrays;//数组类 import java.util.Scanner;//输入类 import java.util.Random;//随机数类 public class Test35 { 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];//存储红球 //需要随机生成 1---33不重复的6 个数 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) {//1 机选 2手选 case 1: computerSelection(redBall,userRedBall);//机选红球 userBlueBall=r.nextInt(17);//机选篮球 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--16)"); userBlueBall=input.nextInt(); flag=false; break; } } //系统随机生成号码: //红球 computerSelection(redBall,sysRedBall); //篮球 sysBlueBall=r.nextInt(16)+1; //统计结果: //红球: 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-1-redCount]; sysRedBall[sysRedBall.length-1-redCount]=temp; redCount++; break; } } } //篮球: if(userBlueBall==sysBlueBall) { blueCount=1; } //验证是否中奖 if(blueCount==0&&redCount==0) { System.out.println("革命尚未成功,同志任需努力!"); }else if(blueCount==1&&redCount<=3){ System.out.println("恭喜你!中了六等奖!5元"); }else if((blueCount==1&&redCount==3)&&(blueCount==0&&redCount==4)) { System.out.println("恭喜你!中了五等奖!10元"); }else if((blueCount==1&&redCount==4)&&(blueCount==0&&redCount==5)) { System.out.println("恭喜你!中了四等奖!200元"); }else if((blueCount==1&&redCount==5)&&(blueCount==0&&redCount==6)) { System.out.println("恭喜你!中了三等奖!3000元"); }else if(blueCount==0&&redCount==6) { System.out.println("恭喜你!中了二等奖!20W朝上!"); }else if(blueCount==1&&redCount==6) { System.out.println("恭喜你!中了一等奖!900W附近!"); }else { System.out.println("系统输出有误!"); } //公布系统号码: System.out.println("本期中奖号码:"); sort1(sysRedBall); System.out.println("Arrays.toString(sysRedBall)"); System.out.println("Arrays.toString(sysBlueBall)"); //公布用户号码: System.out.println("你的号码:"); sort1(userRedBall); System.out.println("Arrays.toString(userRedBall)"); System.out.println("Arrays.toString(userBlueBall)"); } //冒泡排序 public static void sort1(int[] ball) { for(int i=0;i<ball.length;i++) { for(int j=0;j<ball.length-1-i;j++) { if(ball[j]>=ball[j+1]) { ball[j]=ball[j]+ball[j+1]; ball[j+1]=ball[j]-ball[j+1]; ball[j]=ball[j]-ball[j+1]; } } } } //指定数列中随机生成不重复数列 //1--33 //6个数 public static void computerSelection(int[] redBall,int[] userRedBall) { Random r=new Random(); int index=-1; 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; } } } 分享知识,分享快乐!希望中国站在编程之巅! ----融水公子 |
|