如何爲int數組編寫toString()方法?說返回52卡包的字符串表示形式?如何爲面向對象編程編寫一個int數組的toString()方法?
這裏是一個例子數組作爲類的一部分:
{
int[] cards = new int[52];
public void Deck()
{
// Setting up array
String[] suits = {"SPADES", "CLUBS", "HEARTS", "DIAMONDS"};
String[] ranks = {"TWO", "THREE", "FOUR", "FIVE", "SIX", "SEVEN",
"EIGHT", "NINE", "TEN", "JACK", "QUEEN", "KING", "ACE"};
{
// Initalising array
for (int i = 0; i < cards.length; i++)
{
cards[i] = i;
}
}
}
這在一個面向對象的方式被完成。在這種情況下,如何寫一個toString()方法來返回卡片的字符串表示,或者在這種情況下返回數組?
我當前已使用:
@Overide
public String toString()
{
return getClass().getName() + "[cards[]= " + cards[] + "]";
}
我也用了類似的toString()方法寫成:
return getClass().getName() + "[suits[]= " + suits[] + "ranks[]= " + ranks[] + "]";
它的同類的toString()方法我已經用於其他值,它通常起作用。雖然現在我得到這個錯誤兩個(或至少,第一個):
cannot find symbol
symbol: Class cards //which I dont have other than the array at the top
location: Class Pack // The class the array is currently in
unexpected type
required: value
found: class
'.class.' expected
至於打印出來,我想,要麼格式化爲一個列表或一個網格。
而不是使用字符串,我會使用'枚舉'的西裝和麪值。卡將是一個組合,這將使打印更容易。順便說一句如果你使用這種模式,你的IDE可以爲你生成'toString()'。 – 2015-02-23 11:39:24
@SeanOwen在頂部看到編輯,我只想要一個標準的字符串表示形式的列表或網格。 – SIHB007 2015-02-23 11:47:48
@PeterLawrey我已經在一個單獨的類中使用了套裝和排名作爲枚舉,但是它們已經被整理到了整數,而不是字符串。 – SIHB007 2015-02-23 11:48:22