【发布时间】:2014-07-27 22:51:23
【问题描述】:
我正在尝试转换包含“卡片”或存储两个数字、等级和套装的对象的 ArrayList。通常要获取卡片的单个实例,我使用:
dealer.dealerhand.get(1).showstats();
其中 showstats 返回一个字符串并且是:
public String showstats()
{
String realsuit = "";
if(this.suit == 0)
{
realsuit = "Diamonds";
}
else if(this.suit == 1)
{
realsuit ="Hearts";
}
else if(this.suit == 2)
{
realsuit = "Clubs";
}
else if(this.suit == 3)
{
realsuit = "Spades";
}
String str = "My rank is: " + this.rank + " My Suit is: " + realsuit;
return str;
}
到目前为止我尝试过的是:
public String[] getStats()
{
String[] dealerstats = this.dealerhand.toArray(new String[this.dealerhand.size()]);
return dealerstats;
}
和
public String[] getStats()
{
String[] dealerstats = {""};
for(int i = 0; i < this.dealerhand.size(); i++)
{
dealerstats[i] = (dealerhand.get(i).showstats());
}
return dealerstats;
}
但它们都不起作用。最终目标将是发牌手 ArrayList 中卡片的字符串数组,我将使用 JList 打印出来。谢谢!
【问题讨论】:
-
你尝试过的东西有什么用?
-
最后一部分似乎是正确的,你得到错误了吗?
-
它抛出:线程“main”中的异常 java.lang.ArrayIndexOutOfBoundsException: BlackJack.Dealer.getStats(Dealer.java:124) 的 BlackJack.Dealer.main(Dealer.java:150) 的 1第124行是dealerstats[i] = (dealerhand.get(i).showstats());