java基礎知識應用--雙色球開獎號碼

  雙色球是中國福利彩票的玩法,雙色球分爲紅色球號碼區和藍色球號碼區,紅色球號碼區由1-33共33個號碼組成,藍色球號碼區由1-16共16個號碼組成,開獎號碼由6個不重複的紅色球號碼和1個藍色球號碼共7個數組成。

  首先要設置三個數組來分別保存所有球的號碼、抽取紅球的號碼和標記抽取球的號碼,然後抽取不重複的隨機的6個紅色球號碼和1個藍色球號碼,最後給紅色球排序與藍色球一起輸出。需要注意的是號碼是01-33,因此1-9的值要補“0”

import java.util.Arrays;

import java.util.Random;

public class Test01 {

       /**

        *雙色球:共有7個數字

        *紅球:6  每個都不重複,數的範圍在1~33

        *藍球:1範圍1~16

        */

       publicstatic void main(String[] args) {

              Randomr=new Random();

              //1、定義球池:

              Stringballs[]=new String[33];

              for(int i = 0; i < balls.length; i++) {

                     if(i+1<10){

                            balls[i]="0"+(i+1);//1~9前面補零

                            }else{

                            balls[i]=""+(i+1);

                     }

              }

              System.out.println(Arrays.toString(balls));

             

              //定義存放紅球的數組,還有存放藍球的變量

              Stringred[] =new String [6];

              Stringblue;

             

              //定義一個布爾值數組,用來標記紅球中的球是否已經被抽取過,false表示未被抽中

              boolean[] flags=new boolean[33];

              for(int i = 0; i < flags.length; i++) {

                     flags[i]=false;

              }

             

             

              //抽取紅球

              intindex;//紅球下標變量

              for(int i = 0; i < red.length; i++) {

                     do{

                            index=r.nextInt(33);//index=3 抽取了04號球

                     }while(flags[index]);

                    

                     red[i]=balls[index];

                     flags[index]=true;//改標記:如果對應的數被抽中就做標記

              }

              Arrays.sort(red);

             

             

              //抽取藍球

              blue=balls[r.nextInt(16)];

             

 

              //輸出抽獎號碼

              System.out.print("本期開獎號碼:");

              for(int i = 0; i < red.length; i++) {

                     System.out.print(red[i]+"");

              }

              //數組的複製-Arrays.copyof(原數組,新數組長度)

              StringdoubleBalls[]=Arrays.copyOf(red,red.length+1);

              doubleBalls[doubleBalls.length-1]=blue;

              System.out.println("本期開獎號碼:"+Arrays.toString(doubleBalls));

       }

}

 

 


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