gpt4 book ai didi

java - 类的 ArrayList。使困惑

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:57:18 24 4
gpt4 key购买 nike

对于我的类实验室,我们将制作一个简单的卡片组工具,它可以生成标准卡片组并绘制其中的 5 张。我们刚刚学习了 ArrayList 以及如何制作我们自己的类,但现在我正试图将它们放在一起但它只是行不通。这是我的基本卡片类:

public class Card
{
private String Number;
private String Suit;

public Card()
{
Number = "Joker";
Suit = "Card";
}

我还有一个重载的卡片类,但为了节省空间而排除了。接下来是基本的牌组类:

public class Deck
{
private ArrayList<Card> CardDeck = new ArrayList<Card>();

public Deck()
{
CardDeck.clear();
CardDeck.add(new Card("Ace","Hearts"));
}

最后,我有我的客户类。现在,我只是想打印生成的卡片 [Ace,Hearts]。

在我的卡片类中,我有一个打印卡片值的方法:

public String print(Deck a) 
{
return (this.Number+" of "+this.Suit);
}

但是,我正在努力解决如何打印列表是类的数组列表的问题。我知道现在事情有点困惑(我不打算打印甲板)但我认为跳过这个障碍比继续制作手牌数组列表更重要。问题是一样的,只是变量命名不同而已。

我试着在网站上寻找类似的问题,但大多数要么只是 String 对象,要么根本不使用 arraylist。

最佳答案

如果你想打印 Cred 类的值,那很好,但是如果你想从类外打印这个值,那么你需要添加任何私有(private)变量的公共(public) getter 方法。
现在,如果你只是尝试要从外部打印对象值,则需要覆盖 toString() 方法:

public String toString(){
return("Number = "+this.Number+" and Suit = "+this.Suit);
}

如果要在类外打印,则
像这样更改您的 Card 类:

public class Card
{
private String Number;
private String Suit;

public Card(String Number,String Suit)
{
this.Number=Number;
this.Suit=Suit;
}

public String getNumber() {
return Number;
}

public void setNumber(String number) {
Number = number;
}

public String getSuit() {
return Suit;
}

public void setSuit(String suit) {
Suit = suit;
}
}

然后你可以像这样打印值:

List<Card> cardList = new ArrayList<Card>();
//Put some value in the list.
cardList.add(new Card("Ace","Hearts"));
//And so on..
for (Card card : cardList) {
System.out.println("Number = "+card.getNumber()+" Suit = "+card.getSuit());
}

关于java - 类的 ArrayList。使困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15964491/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com