[問題] 請問有更好方法嗎? 樂透程式

看板java作者 (XDDD)時間12年前 (2012/04/03 17:57), 編輯推噓7(703)
留言10則, 7人參與, 最新討論串1/2 (看更多)
今天自己練習 樂透小程式 因為取亂數會有"相同的數目"和"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

04/03 18:15, , 1F
先一個顯然不對的 邏輯 or 是 || 有兩槓不是一槓
04/03 18:15, 1F

04/03 19:05, , 2F
嗯嗯!! 每次都會把|和||搞混 謝謝^^
04/03 19:05, 2F

04/03 19:22, , 3F
用SET來放亂數 可以輕鬆點
04/03 19:22, 3F

04/03 22:22, , 4F
一槓也是 or 啊 [抓頭]
04/03 22:22, 4F

04/03 22:26, , 5F
邏輯上的or和bitwise的or有很大的不同喲
04/03 22:26, 5F

04/04 03:10, , 6F
所以我特別講了邏輯 or 啊 (茶)
04/04 03:10, 6F

04/04 22:46, , 7F
如果兩邊都是判斷式而非數值(long int short) 其實 | 也是
04/04 22:46, 7F

04/04 22:49, , 8F
也是可以的 屬於 Not Short-Circuit 效能差一點
04/04 22:49, 8F

04/11 10:16, , 9F
不就是把1~49放到陣列裡,然後洗牌看要洗幾次,洗完之後
04/11 10:16, 9F

04/11 10:17, , 10F
取前六個就是了@.@
04/11 10:17, 10F
文章代碼(AID): #1FUicbvF (java)
文章代碼(AID): #1FUicbvF (java)