【发布时间】:2013-04-04 13:48:32
【问题描述】:
对于我的课堂实验室,我们将制作一个简单的卡片组工具,它可以生成标准卡片组并抽取 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。
【问题讨论】:
-
您可以通过使用foreach loop 遍历其元素来打印列表的内容。如果你用谷歌搜索“java foreach loop”,你应该会找到一些有用的信息。在您的情况下,您似乎会使用 foreach a 循环遍历列表中的每张卡片。在循环中,您将调用每张卡片的 print() 方法。由于这显然是家庭作业,因此我将避免提供复制/粘贴答案。
-
我还建议您阅读toString() 方法。另请阅读java naming conventions。
-
@jahroy 感谢您的正直。我不是在使用这个网站作弊或寻找简单的答案。我是来学习的。谢谢你不只是给出答案。 @predi 正如我刚刚发布的更进一步,我的印象是更改
toString()方法会弄乱不相关的 sysout 语句。我猜那是不正确的。我们尚未涵盖命名标准。我会将其添加为书签以供以后阅读,因为如果我回到这个小程序,它将使阅读代码更容易。
标签: java class syntax arraylist coding-style