簡單的雙色球邏輯,適合初學者。

package unix.day01;java

import java.util.Arrays;
import java.util.Random;數組

public class DoubleBallDemo {
  public static void main(String[] args) {
    System.out.println(Arrays.toString(gen())); 
  }
  public static String[] gen(){
    String[] pool = {"01","02","03","04","05","06","07",
        "08","09","10","11","12","13","14","15","16",
        "17","18","19","20","21","22","23","24","25",
        "26","27","28","29","30","31","32","33"};
    boolean[] used = new boolean[pool.length];//使用標記
    Random r = new Random();
    String[] balls = new String[6];//空白數組
    int i = 0;
    while(true){
      int index = r.nextInt(pool.length);//隨機下標
      if(used[index])//檢查下標是否使用過
        continue;//從新執行循環, 生成新的隨機數
      balls[i++]=pool[index];//取出一個球到 balls 數組
      used[index]=true;//標識使用了
      if(i==balls.length)//檢查是否都取滿了
        break;
    }
    Arrays.sort(balls);//對紅球排序
    balls = Arrays.copyOf(balls, balls.length+1);//擴展蘭球位置
    balls[balls.length-1] = pool[r.nextInt(16)];//取出蘭球
    return balls;
  }
}
dom

相關文章
相關標籤/搜索