雙色球的數組實現和集合實現

雙色球的數組實現:

import java.util.Random;
public class ShuangSeQiu {

public static void main(String[] args) {
    Random rand = new Random();

    int[] red = new int[6];    

    //紅球(無序):
    for (int i = 0; i < red.length; i++) {
        red[i]=(int)(rand.nextInt(33)+1);    
        for (int j = 0; j < i; j++) {            
            if(red[i]==red[j]){
                i--;
            }
        }
    }
    //冒泡
    for (int i = 0; i < red.length; i++) {
        for (int j = 0; j < red.length-1-i; j++) {
            int temp = red[j];
            if(red[j]>red[j+1]){
                red[j]= red[j+1];
                red[j+1]= temp;
            }
        }
    }
    //藍球
    int blue = rand.nextInt(16)+1;

    System.out.print("今日中獎號碼爲:");
    for (int i = 0; i < red.length; i++) {
        System.out.print(red[i]+",");
    }
    System.out.print(" + "+blue);    
}

}

雙色球的集合實現:

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Random;
import java.util.Set;

public class ShuangSeQiu { 

        public static void main(String[] args){ 
            for (int i = 0; i < 5; i++) {  //任選五注
               System.out.println("機選:" + getSsq());
            }
        }
	public static String getSsq(){
		String ssq = "";
		//解決紅球問題
		//創建Set集合,存儲紅球;使用Set集合原因是可以得到不重複的紅球(“唯一性”)
		Set<Integer> reds = new HashSet<Integer>();		
		Random rand = new Random();//創建隨機數對象
		//獲得六個不唯一且無序的隨機數
		do {
			int num = rand.nextInt(33) + 1;//獲得一個1~33之間的隨機數
			reds.add(num);//添加元素到集合
			if(reds.size()==6){
				break;
			}
		} while (true);	
		//隨機數排序
		//創建List集合,解決排序問題。使用List的原因是可以使用Collections。sort()方法來排序
		List<Integer> list = new ArrayList<Integer>();
		for (Integer in : reds) {
			list.add(in);  //添加Set集合元素到List集合
		}
		//調用Collections的sort()方法進行排序
		Collections.sort(list);
		for (Integer in : list) {
			ssq += in+" ";
		}
		//解決籃球問題
		int blue = rand.nextInt(16)+1;//獲得一個1~16之間的隨機數
		//ssq結果
		ssq += " + " + blue;
		return ssq;
	}
}

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