您如何为数组编写高级的mutator方法?

问题描述 投票:0回答:2

我对编程还比较陌生,所以这让我很困惑。在此程序中,我声明并实例化了5张卡片空插槽的数组(来自名为Card.java的程序,其中所有卡片均已完成)。这是我的构造方法:

 public BasicPlayer()
 {
    myHand = new Card[5];
 }

然后,我应该为数组(我假设的getter和setter)声明一个高级的mutator和accessor方法,这就是我遇到的问题。对于accessor方法,我应该从玩家手中得到一张牌:

   public Card getCard()
   {
     card tempCard = myHand [numberDealt];
     numberDealt ++;
     return tempCard;
   }

但是对于mutator方法,我应该在玩家的手中设置一张SINGULAR CARD(我将在不同的类中创建一个循环,在手中放置更多的卡,但是现在,我只需要一张)。这就是我被困住的地方。我应该做些什么?

java arrays poker mutators
2个回答
0
投票
// setters typically don't return anything. // and idx must satisfy 0 <= idx < myHand.length public void setCard(int idx, Card card) { myHand[idx] = card; }

但是,我注意到您使用其他方法

   public Card getCard() {
     Card tempCard = myHand [numberDealt];
     numberDealt ++;
     return tempCard;
   }

请注意numberDealt增量。如果超过4,您将抛出基于索引的Exception,用于超出数组大小。你如何处理这个由您决定。


0
投票
© www.soinside.com 2019 - 2024. All rights reserved.