2013-04-20 33 views
-1

對不起,如果這個問題沒有意義。另外,我在這裏限制了代碼,你也可以嘗試做同樣的事情,因爲這是一個任務,而plagarism跳棋很煩人:/toString()的問題,如何在不調用對象的情況下使用

所以,對於java中的任務,我必須定義一個方法迭代,直到簡單遊戲爲止,在每次移動之間打印出toString()表示。然而,我一直無法得到這個工作,因爲沒有對象創建的類...

我試圖調用toString()方法之前沒有對象,但它不打印。我也試過this.toString()。幾乎下面的代碼是一個基本的模擬了我的方法/類的樣子(而不是他們實際做)

public randClass 
{ 

randClass() 
{ 
Box box = new Box(); 
Square square = new Square(); 
Duck duck = new Duck(); 
} 

public void doSomething() 
{ 
toSring(); // also tried this.toString(); 
do 
{ 
box.postion ++; 
square.position = 100 - box.position; 
this.toString(); 
} 
while(duck.quack() != true);| 
} 

public String toString() 
{ 
return box.toString() + " " + square.toString() + ";"; 
} 

} 

我知道我可以只需要調用box.toString()等代替使用一個toString()方法調用,然而,該賦值特別要求定義randClass對象的toString()方法。

toString也曾經工作,但是這是與自動標記創建一個randClass對象,然後調用該方法。

預先感謝您在百忙之中閱讀本文時,以及在其本身是如此混亂:(

+0

爲什麼它會在行上讀取'toSring()'而不是'toString()'你標註了評論? – Octahedron 2013-04-20 01:08:57

+0

'沒有調用對象'是什麼意思? – EJP 2013-04-20 01:20:29

回答

3

toString()沒有打印任何遺憾,它只是返回對象的字符串表示,其中它是一個成員

你必須將這個字符串傳遞給某種類型的流,以便將它打印到屏幕或文件中說,對於OutputStream的println方法,可能就像包含在系統,例如可能命名爲'out'

+1

所以,例如使用上面的, System.out.println(toString());? – user2301047 2013-04-20 01:12:54

+0

多麼有趣的想法,你應該嘗試一下,但是你沒有聽到我的消息。 – 2013-04-20 01:15:16

+0

謝謝:) 剛剛意識到這是多麼noobish:/ 對不起,麻煩:) – user2301047 2013-04-20 01:16:34

相關問題