1. 程式人生 > >java基礎知識應用--雙色球開獎號碼

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

雙色球開獎 java基礎 開獎號碼 public

  雙色球是中國福利彩票的玩法,雙色球分為紅色球號碼區和藍色球號碼區,紅色球號碼區由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));

}

}


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