作者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
1F:推 LPH66:先一个显然不对的 逻辑 or 是 || 有两杠不是一杠 04/03 18:15
2F:→ jodo1984:嗯嗯!! 每次都会把|和||搞混 谢谢^^ 04/03 19:05
3F:→ ssc24:用SET来放乱数 可以轻松点 04/03 19:22
4F:推 PsMonkey:一杠也是 or 啊 [抓头] 04/03 22:22
5F:推 shemale:逻辑上的or和bitwise的or有很大的不同哟 04/03 22:26
6F:推 LPH66:所以我特别讲了逻辑 or 啊 (茶) 04/04 03:10
7F:推 joetsai:如果两边都是判断式而非数值(long int short) 其实 | 也是 04/04 22:46
8F:→ joetsai:也是可以的 属於 Not Short-Circuit 效能差一点 04/04 22:49
9F:推 liu2007:不就是把1~49放到阵列里,然後洗牌看要洗几次,洗完之後 04/11 10:16
10F:推 liu2007:取前六个就是了@.@ 04/11 10:17