我的清单<>返回0而不是结果

时间:2016-11-26 06:30:46

标签: java list arraylist

我正试图从我填充的牌组中取出5张随机牌并将其从牌组中删除。 List n在Player.java中工作正常,但是当传回main时,它返回已删除的结果。

public class Player {
private Random r = new Random();
int res;
List<Card> n = new ArrayList<>();
public List<Card> Deal(List<Card> deck){
    for(int i = 0 ; i < 5 ; i++){
        Card c = Draw(deck);
        n.add(c);
        System.out.println(res + n.get(i).getSuit() + n.get(i).getFigure());
        DelCard(deck.get(res));
    }
    return n;
}

public Card Draw(List<Card> deck){
    res = r.nextInt(deck.size());
    Card c = deck.get(res);
    return c;
}

private Card DelCard(Card c){
    c.setFigure("0");
    c.setSuit("0");
    return c;
}

}

这是我的主要内容:

public static void main(String[] args) {
    // TODO code application logic here
    Exercise04 e = new Exercise04();
    e.run();
}

public void run(){
    List<Card> deck = new ArrayList<>();
    List<Card> pDeck1 = new ArrayList<>();
    deck = popDeck(deck, fig, suit);
    Player p1 = new Player();
    pDeck1 = p1.Deal(deck);
    printDeck(pDeck1);
    //printDeck(deck);
}

以下是示例输出:

  

27D2
      23SJ
      51CK
      5H6
      21S9
      00
      00
      00
      00
      00

1 个答案:

答案 0 :(得分:1)

从线上删除键静态 static List n = new ArrayList&lt;&gt;(); 什么是popDeck方法应该做什么?

- &GT;似乎还没有正确定义删除方法。

用它替换DelCard方法。

private void DelCard(List<Card> deck)
{
deck.remove(deck.get(res));
}
相关问题