1
每當我執行程序時,它總是爲sc1和sc2輸出9和5。這是我的理解,隨機班應該是大部分隨機的。爲什麼我的代碼不斷地給出相同的隨機數
這裏是我的代碼:
public class BlackJack {
public static BlackJack blackjack;
public int chips;
public static int[] deck;
public static int ct = 0, sc1, sc2;
Random random;
public BlackJack() {
deck();
deal();
System.out.println(sc1);
System.out.println(sc2);
}
public void deck() {
deck = new int[52];
for (int i = 0; i < 52; i++) {
if(i % 4 == 0) {
ct++;
}
deck[i] = ct;
}
}
public void deal() {
random = new Random(52);
sc1 = deck[random.nextInt(52)];
sc2 = deck[random.nextInt(52)];
}
public static void main(String[] args) {
blackjack = new BlackJack();
}
}
先感謝您的任何指導。
你總是爲52個「Random」實例播種,所以你將總是得到僞隨機序列中相同的數字。在你的「Random」聲明中取出52。 – rossum
不要使用Random類,它使用內部字典,並且可以多次爲您提供相同的重複數據 – Moumit