首页 > 代码库 > 用循环与数组模拟双色球彩票中奖
用循环与数组模拟双色球彩票中奖
String ji="机选";
String zi="自选";
System.out.println("请问机选还是自选?");
String my=wx.next();
int []a=new int[7];//用户买的号码记录的数组
//自选时的用户彩票
if(my.equals(zi)){
for(int i=0;i<a.length;i++){
//蓝球的输入
if(i==6){
System.out.println("请输入1至16的蓝色球的号码");
int num1=wx.nextInt();
if(num1>=1&&num1<=16){
a[i]=num1;
break;
}else{
System.out.println("你的输入不在范围内,请重新输入");
i--;
continue;
}
}
//前六个红球的输入
System.out.println("请输入第"+(i+1)+"个红球的号码,范围为1至33:");
int num=wx.nextInt();
if(num>=1&&num<=33){
a[i]=num;
}else{
System.out.println("你的输入不在范围内,请重新输入");
i--;
continue;
}
int count1=-1;//计数器
for(int f=0;f<i;f++){ //用循环判断新输入的数是否与前面的相等
if(num==a[f]){
count1=i;
}
}
if(count1==-1){
continue;
}else{
System.out.println("你的输入与前面的号码有相同,请重新输入");
i--;
}
}
}
//机选时的用户彩票
else if(my.equals(ji)){
for(int i=0;i<a.length;i++){
if(i==6){
int num3=(int)(Math.random()*16+1);
a[i]=num3;
break;
}
int num2=(int)(Math.random()*33+1);
int count=-1; //计数器
for(int d=0;d<i;d++){ //用循环判断新产生的数是否与前面的相等
if(num2==a[d]){
count=i;
}
}
if(count==-1){
a[i]=num2;
}else{
i--; //如果这个数与前面的相等,重新循环这一次
}
}
}
System.out.println("你的红色球购买号码是:");
for(int j=0;j<a.length-1;j++){
System.out.print(a[j]+" ");
}
System.out.println("\n"+"你的蓝色球购买号码是:"+a[6]);
//开奖的号码
int []jiang=new int [7];
for(int i=0;i<jiang.length;i++){
if(i==6){
int num5=(int)(Math.random()*16+1);
jiang[i]=num5;
break;
}
int num4=(int)(Math.random()*33+1);
int count5=-1; //计数器
for(int d=0;d<i;d++){ //用循环判断新产生的数是否与前面的相等
if(num4==jiang[d]){
count5=i;
}
}
if(count5==-1){
jiang[i]=num4;
}else{
i--; //如果这个数与前面的相等,重新循环这一次
}
}
System.out.println(" ");
System.out.println("=====开奖号码公布=====");
System.out.println("红色球号码是:");
for(int j=0;j<jiang.length-1;j++){
System.out.print(jiang[j]+" ");
}
System.out.println("\n"+"蓝色球号码是:"+jiang[6]);
//中奖球统计
int red=0;//红色球中奖情况
int blue=0;//蓝色球中奖情况
for(int i=0;i<a.length;i++){
if(i<6){
for(int j=0;j<jiang.length-1;j++){
if(a[i]==jiang[j]){
red++;
}else{
continue;
}
}
}
else{
if(a[i]==jiang[6]){
blue++;
break;
}else{
break;
}
}
}
System.out.println("你红色球中了"+red+"个,"+"蓝色球中了"+blue+"个");
//中奖结果公布
if(blue==1&&red==0||blue==1&&red==1||blue==1&&red==2){
System.out.println("恭喜你,中了六等奖!!!");
}else if(blue==1&&red==3||blue==0&&red==4){
System.out.println("恭喜你,中了五等奖!!!");
}else if(blue==1&&red==4||blue==0&&red==5){
System.out.println("恭喜你,中了四等奖!!!");
}else if(blue==1&&red==5){
System.out.println("恭喜你,中了三等奖!!!");
}else if(blue==0&&red==6){
System.out.println("恭喜你,中了二等奖!!!");
}else if(blue==1&&red==6){
System.out.println("我的天啊,你中了一等奖!!!");
}else{
System.out.println("没有中奖,再买一次~~");
}
用循环与数组模拟彩票中奖算是对之前的学习汇总一下,对循环和数组的运用也算略有小成。
用循环与数组模拟双色球彩票中奖