雙色球的數組實現:
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;
}
}