【发布时间】:2014-10-13 03:35:29
【问题描述】:
让我向您介绍我的问题的组成部分。在 main 方法中创建的一个名为 cards 的数组。一个名为 Card 的类,它有 2 个类变量,花色和数字。 一个名为 ph 的 ArrayList(代表 playerHand)在一个名为 Hand 的公共类中,最后是一个名为 counter 的静态公共变量。那么现在让我解释一下我的困境。
在主方法中,数组卡片包含 52 个卡片对象,每个卡片对象都有自己的数据。 在 hand 类中,我有一个名为 draw() 的方法。
这里是hand类里面的一些代码。
ArrayList<Card> ph = new ArrayList<Card>();
public static int cc = 0;
void draw() {
ph.add(new Card());
ph.get(cc).num = cards[cc].num;
ph.get(cc).suit = cards[cc].suit;
cc = cc + 1;
}
但是,在 cc = cc + 1 之前的 2 行中出现以下错误。 “卡片无法解析为变量”
如何在 Array 和 ArrayList 之间传输数据?
编辑:这与标记为重复的帖子不同,因为这里的数组位于不同的类中,因此解决方案不起作用。
【问题讨论】:
-
你应该包含声明数组的代码。
-
您写道,卡片数组已在 main 方法中声明,但您尝试在 draw 方法中使用它。尝试将其声明为类字段或将此卡片数组作为参数放入 draw 方法中。
-
cc是什么?您应该提供更多代码 -
请发布一个更完整的示例。从您提供的代码 sn-p 很难分析您的问题。似乎您应该将卡片作为 draw 方法的参数:'void draw(Card[] cards)'。
-
您可能需要考虑使用
Arrays.asList(),而不是手动处理每张卡片。