gpt4 book ai didi

Java ArrayList Deck 类

转载 作者:行者123 更新时间:2023-12-02 06:27:15 24 4
gpt4 key购买 nike

该程序应该使用 ArrayList 来创建一副纸牌。用户输入要抽多少张牌并打印这些牌,然后打印这副牌中剩余的其余牌。我已经打印了用户的卡片,但我不知道如何打印这副卡片中的剩余卡片。任何帮助将不胜感激。

public class Card 
{
private int type, value;
private String[] cardType = {"Clubs", "Spades", "Diamonds", "Hearts"};
private String[] cardValue = {"Ace", "King", "Queen", "Jack", "10",
"9", "8", "7", "6", "5", "4", "3", "2"};

public Card(int types, int values)
{
type = types;
value = values;
}

public String toString()
{
String finalCard = cardValue[value] + " of " + cardType[type];

return finalCard;
}

}

import java.util.Random;
import java.util.ArrayList;

public class Deck
{
private ArrayList<Card> cards;

public Deck()
{
cards = new ArrayList<Card>();

for(int a =0; a<=3; a++)
{
for(int b =0; b<=12;b++)
{
cards.add(new Card(a,b));
}
}
}

public Card drawRandomCard()
{
Random generator = new Random();
int index = generator.nextInt(cards.size());
return cards.remove(index);
}

public String toString()
{
String result = "Cards remaining in deck: " + cards;

return result;

}
}


import java.util.Scanner;

public class CardProgram
{
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
Card C;
Deck deck = new Deck();

System.out.println("Enter number of cards to be dealt: ");
int numberCards = scan.nextInt();

System.out.println("Cards drawn: ");
for(int i=0; i<numberCards; i++)
{
C = deck.drawRandomCard();
System.out.println(C.toString());
}

//C = deck.toString();
//System.out.println(cards.toString());
// System.out.println(C.toString());


}

}

最佳答案

我认为这应该完成你的工作

System.out.println(deck.toString());
//System.out.println(deck); // Note : this will also work

尽管我认为创建一个新方法 remainingCard 并返回 cards ArrayList 比使用剩余卡片覆盖 toString 更有意义。

关于Java ArrayList Deck 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20410615/

24 4 0