import java.sql.SQLOutput; import java.util.Random; import java.util.Scanner; //模拟双色球 红球号码:1-33 蓝球号码:1-16 //投注号码由6个红色球号码和一个蓝色球号码组成。 // 红色球号码从1-33中选择,蓝色球号码从1-16中选择 public class Main{ public static void main(String[] args) { System.out.println("中奖号码为:"); int []arr= createNumber();//这个方法用来随机生成中奖号码 for (int i = 0; i < arr.length; i++)//输出中奖号码 { System.out.print(arr[i]+" "); } System.out.println("=============="); int[] use=userINputnumber();//用于存放用户输入的号码 int redCount=0;//红球中奖的个数 int blueCount=0;//蓝球中奖的个数 for(int i=0;i<arr.length;i++)//统计红球中奖个数 { int redNumber=use[i]; for(int j=0;j<arr.length-1;j++) {if(redNumber==arr[j]) { redCount++; break; } } } int blueNumber=use[use.length-1]; if(blueNumber==arr[arr.length-1])//统计蓝球中奖的个数 { blueCount++; } System.out.println(redCount+" "+blueCount); //判断中奖梯次 // 红球 蓝球 //一等奖(1000万) 6 1 //二等奖(500万) 6 0 //三等奖(3000元) 5 1 //四等奖(500元) 5 0 // 4 1 //五等奖(100元) 4 0 // 3 1 //六等奖(5元) 2 1 // 1 1 // 0 1 System.out.println("==================="); if(redCount==6&&blueCount==1) { System.out.println("恭喜你,中奖1000万"); } else if(redCount==6&&blueCount==0) { System.out.println("恭喜你,中奖500万"); } else if(redCount==5&&blueCount==1) { System.out.println("恭喜你,中奖3000元"); } else if((redCount==5&&blueCount==0)||(redCount==4&&blueCount==1)) { System.out.println("恭喜你,中奖200元"); } else if((redCount==4&&blueCount==0)||(redCount==3&&blueCount==1)) { System.out.println("恭喜你,中奖100元"); } else if((redCount==2&&blueCount==1)||(redCount==1&&blueCount==1)||(redCount==0&&blueCount==1)) { System.out.println("恭喜你,中奖5元"); } else { System.out.println("谢谢参与"); } } public static int[] userINputnumber() { int[] Number=new int [7]; Scanner input=new Scanner(System.in);//输入中奖号码 for (int i = 0; i < 6; i++) { System.out.println("请输入彩票号码"); int number=input.nextInt(); if(number>=1&&number<=33) {boolean flag=contains(number,Number); if(!flag) {Number[i]=number; } else { System.out.println("输入的号码已存在"); } } else { System.out.println("输入的号码不在范围(1-33)内"); } } while(true) { System.out.println("请输入蓝色彩票号码"); int blue=input.nextInt(); if(blue>=1&&blue<=16) {Number[6]=blue; break;} else { System.out.println("当前蓝色球号码超出范围"); } } return Number; } //方法:生成终将号码 public static int[] createNumber() { int[] arr=new int [7]; Random rand=new Random(); for(int i=0;i<6;) { int red=rand.nextInt(33)+1; boolean flag=contains(red,arr); if(!flag) {arr[i]=red; i++; } } int blue=rand.nextInt(16)+1; arr[6]=blue; return arr; } public static boolean contains(int red,int[] arr) { for (int i = 0; i < arr.length; i++) { if(arr[i]==red) { return true; } } return false; } }