package Exercise;
public class Rand49 {
private int[][] num49;
private int[] Rand6=new int[6];
public void Do_Run(){
num49 = new int[49][2];//定義範圍 49
for (int i = 1;i<49 ; i++){
num49[i][0]=i;
num49[i][1]=0;
}
for(int i=0;i<6;i++){//取出值
int index=(int)(Math.random()*49);
while(true){
if(num49[index][1]!=0){
index++;
}else{
Rand6[i]=num49[index][0];
num49[index][1]++;
System.out.println("1:");
break;
}
}
System.out.println("2:");
}
System.out.println("Output:");
for(int e: Rand6){
System.out.print(e+" ");
}
}
}
我懶的註解了
在一些小改良就可以 讓他應用性更廣
要的人自己拿去改吧
想法:
1.
先開一個二維陣列
第一維填入1~X (X=你的範圍)
第二維填入0 (這是用來檢查的)
2.
利用迴圈連續取值
利用RANDOM*範圍=抓取第?個陣列
如果沒被取過
就在第二維填入1
如果被取過
就選取下一個值 或是在用RANDOM抓下一個值
- Aug 05 Sun 2007 15:24
Java-49取6
全站熱搜
留言列表