2014-02-27 29 views

回答

1

你得到的是Object類中默認的toString()的輸出。如果你想打印一些有意義的東西,那麼你需要重寫ArrayStack類中的toString()方法。

public String toString() 
{ 
    // iterate through your array and generate a String consisting of all elements 

    // alternatively you can take advantage of the fact that Arraylist has already 
    // overriden toString() method to print all elements 

    return st.toString(); 
} 
+0

太棒了!現在,你會碰巧知道我爲什麼不能放:st.size()? – Sophie

+0

代碼中的哪一行是你指的? – Kakarot

+0

在Main類中,在try塊內:System.out.println(st);我也想把System.out.println(st.size());當我這樣做時,它告訴我:「ArrayStack 」類型的方法size()未定義。「 – Sophie

0

Object類的toString方法返回一個字符串,該對象是實例的類名,符號字符「@」和對象的哈希碼的無符號十六進制表示形式。換句話說,該方法返回一個字符串等於值:

getClass().getName() + '@' + Integer.toHexString(hashCode()) 

要打印,我懷疑你想要的話,您將需要通過ArrayList中

1

你需要重寫的toString遍歷你ArrayStack類。 迭代元素並將它們連接成可讀格式。