让我向您介绍我的问题的组成部分。一个名为card的数组,已在main方法中创建。一个名为Card的类,它有2个类变量,适合和数字。 在名为Hand的公共类中称为ph(代表playerHand)的ArrayList,最后是名为counter的静态公共变量。现在让我解释一下我的困境。
在主方法中,阵列卡包含52个卡对象,每个卡对象都有自己的数据。 在hand类中,我有一个名为draw()的方法。
以下是手工课程中的一些代码。
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行上有以下错误。 &#34;卡片无法解析为变量&#34;
如何在Array和ArrayList之间传输数据?
编辑:这与帖子不同,因为这里的数组是不同的类,所以解决方案不会起作用。
答案 0 :(得分:3)
但是我在cc = cc + 1之前的2行上有以下错误。&#34;卡片无法解析为变量&#34;
这意味着您尚未以允许cards
查看声明的方式/地点声明draw()
。
你说:
在主方法中,阵列卡包含52个卡对象,每个卡对象都有自己的数据。
听起来您已将cards
声明为main
方法中的局部变量。局部变量仅适用于当前方法体中的语句。
cards
数组需要声明为封闭类的字段,或者需要作为参数传递给draw
。如果没有看到完整的代码,我无法说哪个更好。