用循环与数组模拟双色球彩票中奖

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用循环与数组模拟双色球彩票中奖相关的知识,希望对你有一定的参考价值。



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("没有中奖,再买一次~~");

    }



用循环与数组模拟彩票中奖算是对之前的学习汇总一下,对循环和数组的运用也算略有小成。

以上是关于用循环与数组模拟双色球彩票中奖的主要内容,如果未能解决你的问题,请参考以下文章

彩票双色球中奖的几率是多少?谁算过?

双色球中5个红号的几率是多少?

Java 用两个一维数组实现双色球彩票

彩票的预测

java爬取双色球所有中奖号码历史数据

彩票网双色球历史开奖有些啥?