用循環與數組模擬雙色球彩票中獎



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("沒有中獎,再買一次~~");

    }



用循環與數組模擬彩票中獎算是對之前的學習彙總一下,對循環和數組的運用也算略有小成。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章