我正试图从我填充的牌组中取出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
答案 0 :(得分:1)
从线上删除键静态 static List n = new ArrayList&lt;&gt;(); 什么是popDeck方法应该做什么?
- &GT;似乎还没有正确定义删除方法。
用它替换DelCard方法。
private void DelCard(List<Card> deck)
{
deck.remove(deck.get(res));
}