在此代碼中,我從數組中找到了重複項,我想將其刪除。輸出然後將是唯一生成的數字。我需要使用math.random和模。任何人有任何線索?我嘗試將它們存儲在一個數組中,但原始數組的值爲0,0是我的隨機數生成域(從0到52)的一部分。如何使用for循環刪除數組中的重複項
public class Decks {
public static void main(String[] args) {
generate();
}
public static void generate() {
int deckOfCard[] = new int[52];
for (int counts = 0; counts < 52; counts++) {
deckOfCard[counts] = (int) (Math.random() * 51);
}
for (int i = 0; i < deckOfCard.length - 1; i++) {
for (int j = i + 1; j < deckOfCard.length; j++) {
if ((deckOfCard[i] == (deckOfCard[j])) && (i != j)) {
System.out.println("DUPLICATE " + deckOfCard[i]);
}
}
}
for (int count = 0; count < deckOfCard.length; count++) {
System.out.print("\t" + deckOfCard[count]);
}
}
您可以使用List,使用負數表示「已移除」的卡片,或將這些值保存到新數組中。 – Fang
是你的目標:首先生成52個數字,然後刪除重複項?或者,生成52個「唯一」號碼? – Scar
我的目標是生成52個唯一的數字,但我必須使用math.random和modulus來創建它們並將它們存儲在數組中。 –