看板 java 關於我們 聯絡資訊
今天自己練習 樂透小程式 因為取亂數會有"相同的數目"和"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