Java-如果我有一个对象是另一个对象的对象数组,我仍可以将其用作数组

时间:2018-09-07 23:35:59

标签: java arrays

我正在用Java制作纸牌游戏,我有一个Card对象,一个Deck(一个纸牌对象数组)和一个Hand(也有一个纸牌对象数组)。
我正在使用一种在Deck中绘制纸牌的方法,该方法已在下面附上:

function AmB(): any {
 const a = A();
 const b = B();

 const bPairs = _.toPairs(b);
 const bNotEnabled = _.filter(bPairs, bPair => { return !bPair[1].enabled });
 const aPairs = _.toPairs(a);
 const aMinusB = _.reject(aPairs, aPair => _.find(bNotEnabled, b => b[0] === aPair[0]));
 return {...aMinusB}
}

在我的主班上,我使用上述方法从甲板上将牌抽到手。

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

但是,我收到错误消息“ [[Java]表达式的类型必须是数组类型,但是解析为Hand Hand PlayerHand-Main.main(String [])“

我不知道如何解决此错误,所以有人可以向我解释哪里出错了吗?

我在下面附加了我的副驾驶班和手工班。请随时向我提供有关它们的反馈。

手课堂:

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 Hand {


  Hand(){
      Card [] Hand = new Card [9];
  }
}

这是我的第一个问题,如果不好,我深表歉意。

1 个答案:

答案 0 :(得分:0)

在此功能中:

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

您传递的对象不是数组。然后在该函数内部,您尝试像使用数组一样使用它们。