我正在尝试为卡片动态数组创建一个随机播放类 我的卡片数组包含花色和等级的字符串和值的 int
这是我得到所需错误的地方:找到的变量:值
private void Shuffle() {
for (int p = 0; p <1000; p++) {
int rand1 = (int) (Math.random()* 52);
int rand2 = (int) (Math.random()*52);
Card Temp = cards.get(rand1);
cards.get(rand1) = cards.get(rand2);
cards.get(rand2) = Temp;
}
}
答案 0 :(得分:1)
我相信,卡片是列表类型。 card.get(index) 返回 Card 的对象。一个对象可以分配给一个引用,而不是另一个对象。 因此,cards.get(rand1) = card.get(rand2) 就像将一个对象分配给另一个对象。类似于写1=2。
答案 1 :(得分:1)
我相信你正试图随机洗牌 1000 次,所以恕我直言,最简单的方法是这样的(假设你的牌在 ArrayList 中)
private void Shuffle() {
for (int p = 0; p < 1000; p++) {
int rand1 = (int) (Math.random() * 52);
int rand2 = (int) (Math.random() * 52);
Card card1 = cards.get(rand1);
Card card2 = cards.get(rand2);
cards.set(rand1, card2);
cards.set(rand2, card1);
}
}