Java-如果我有一个对象,它是另一个对象的对象数组,我仍然可以使用它作为数组吗

Java-如果我有一个对象,它是另一个对象的对象数组,我仍然可以使用它作为数组吗,java,arrays,Java,Arrays,我正在用Java制作一个纸牌游戏,我有一个纸牌对象、一副牌(一组纸牌对象)和一只手(还有一组纸牌对象)。 我正在使用一种方法在我附在下面的牌组中抽牌: public Card [] drawCard(Deck Deck , Hand Hand, int x, int y) { Hand[x] = Deck[y]; return Hand; } 在我的主要课程中,我使用上述方法从牌组到手部抽牌 for (i = 0 ; i < 2 ; i++) { Deck.dr

我正在用Java制作一个纸牌游戏,我有一个纸牌对象、一副牌(一组纸牌对象)和一只手(还有一组纸牌对象)。
我正在使用一种方法在我附在下面的牌组中抽牌:

public Card [] drawCard(Deck Deck , Hand Hand, int x, int y) {
    Hand[x] = Deck[y];
    return Hand;
} 
在我的主要课程中,我使用上述方法从牌组到手部抽牌

for (i = 0 ; i < 2 ; i++) {
    Deck.drawCard(Deck, PlayerHand, i, i);
}
for (i = 0 ; i < 2 ; i++) {
    x = 2;
    Deck.drawCard(Deck, PlayerHand, i, x);
    x++;
}

String PlayerCard1 = PlayerHand[0];
String PlayerCard2 = PlayerHand[1];
String DealerCard1 = DealerHand[0];
String DealerCard2 = DealerHand[1];
甲板等级:

public class Deck {


//enter code here

  Card [] Deck = new Card[52];

  for(int i = 0; i < 4; i++) {
      for(int x = 0; x < 13; x++) {
        int cardNID = (i+1)*(x+1);
        deck[cardNID] = new Card(i+1,x+1);
      }
  }


}


public void ShuffleDeck() {
    for (int i = Deck.length - 1 ; i > 0; i = i - 1) {
      int j = (int)(Math.random() * (i + 1));
      int temp = myList[i]; 
      myList[i] = myList[j]; 
      myList[j] = temp;
    }
}



public Card [] drawCard(Deck Deck , Hand Hand, int x, int y) {
    Hand[x] = Deck[y];
    return Hand;
}
}
公共类甲板{
//在这里输入代码
卡片[]卡片组=新卡片[52];
对于(int i=0;i<4;i++){
对于(int x=0;x<13;x++){
int cardNID=(i+1)*(x+1);
卡片组[cardNID]=新卡片(i+1,x+1);
}
}
}
公共空间{
对于(int i=Deck.length-1;i>0;i=i-1){
int j=(int)(Math.random()*(i+1));
int temp=myList[i];
myList[i]=myList[j];
myList[j]=温度;
}
}
公共卡[]提款卡(牌组、手牌、整数x、整数y){
手[x]=甲板[y];
回手;
}
}
这是我的第一个问题,如果不是“好的”,我道歉。

在这个函数中:

public Card [] drawCard(Deck Deck , Hand Hand, int x, int y) {
Hand[x] = Deck[y];
return Hand;

您传递的是对象而不是数组。然后在这个函数中,你试图像使用数组一样使用它们

那么您认为我应该在主类中创建一个名为Deck和Hand的数组吗?提示:您应该以小写字符(
Deck
Hand
)开头命名变量或实例,以免与类名(
Deck
Hand
)混淆。这里有一个链接(已存档)(还有其他更全面的编码约定)。@GinoMempin感谢您提供的提示。我将在将来使用您发布的链接中的信息。除了@GinoMempin所说的,方法名称也以小写开头。现在编辑问题可能值得进行这些更改。这会增加有人帮助你的机会。
public Card [] drawCard(Deck Deck , Hand Hand, int x, int y) {
Hand[x] = Deck[y];
return Hand;