我正在尝试学习 Java,我想做一个非常简单的类,它会从随机生成的一副牌中随机选择 5 张牌。我遇到了一些我觉得应该是一个非常简单的问题来解决的问题。此外,这是针对我就读的大学的一个实验室,所以如果你能够在不给我代码块的情况下指导我,那将是更可取的。
这是我收到的错误,我理解我收到它的原因:
表达式的类型必须是数组类型,但它解析为 Deck
这是我的代码:
public static void main(String[] args) {
System.out.println(select(5));
}
public static Card[] select(int k)
{
Random rand = new Random(52);
Deck deck = new Deck(52);
Card[] hand = new Card[5];
for (int j = 0; j < 5; j += 1)
{
int index = rand.nextInt(52-j);
hand[j] = deck[index];
}
return hand;
}
Deck.java 和 Card.java 类是由我的导师提供的(他在实验期间不可用)。
我最近也意识到这段代码不会为我做我想要它做的事情,但是我仍然需要找出我上面的错误。如果您想帮助解决我遇到的其他问题,请随时在下面回答我的解释,但这不是我来这里的原因。
我想随机选择5张卡片。假设一张随机选择的卡片位于我的牌组对象的索引 27 处。然后我想将该卡移动到索引 51 并重复 4 次。这样我套牌对象的最后五张牌都是随机选择的,不可能被选择两次。我在想最简单的方法(我还没有尝试过)是创建一个变量来保存我的甲板索引之一的值,以便我可以交换它们。你们中有人同意吗?
任何帮助是极大的赞赏!