作者jodo1984 (XDDD)
看板java
標題[問題] 請問有更好方法嗎? 樂透程式
時間Tue Apr 3 17:57:54 2012
今天自己練習 樂透小程式
因為取亂數會有"相同的數目"和"0"
想要撇除這兩項 所以自己寫了一個程式
public static void main(String[] args) {
int l_index = 0;
int[] LotteryArray = new int[6];
while(l_index < 6){
double d=100*Math.random();
int l_intTemp=(int)d;
l_intTemp %= 50;
LotteryArray [l_index] = l_intTemp;
for(int i = 0; i< l_index; i++){
//這裡是滿足上述講的那兩種狀況 先把陣列減一
if(LotteryArray [i] == l_intTemp | l_intTemp == 0){
l_index--;
break;
}
}
l_index++;
}
}
這是我剛剛想的 請問有更好方法嗎? 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.39.141.163
推 LPH66:先一個顯然不對的 邏輯 or 是 || 有兩槓不是一槓 04/03 18:15
→ jodo1984:嗯嗯!! 每次都會把|和||搞混 謝謝^^ 04/03 19:05
→ ssc24:用SET來放亂數 可以輕鬆點 04/03 19:22
推 PsMonkey:一槓也是 or 啊 [抓頭] 04/03 22:22
推 shemale:邏輯上的or和bitwise的or有很大的不同喲 04/03 22:26
推 LPH66:所以我特別講了邏輯 or 啊 (茶) 04/04 03:10
推 joetsai:如果兩邊都是判斷式而非數值(long int short) 其實 | 也是 04/04 22:46
→ joetsai:也是可以的 屬於 Not Short-Circuit 效能差一點 04/04 22:49
推 liu2007:不就是把1~49放到陣列裡,然後洗牌看要洗幾次,洗完之後 04/11 10:16
推 liu2007:取前六個就是了@.@ 04/11 10:17