在此代码中,我从数组中找到了重复项,我想将其删除。输出然后将是唯一生成的数字。我需要使用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来创建它们并将它们存储在数组中。 –