2012-03-21 26 views
0

所以問題是「我有一個名爲inventory的集合類對象,它包含了一個名爲Items的類,假設Items類包含一個toString()方法以使打印變得容易。一個將遍歷整個集合類的for-each循環,並且對於該類中的每個對象,將該對象打印到System.out。「對於過去測驗的每個循環

我有 -

for(String items: inventory){ 
toString += items.toString(); 
System.out.print(items) 

是正確的嗎?

+0

我假設這是作業和Java。如果不是,請更正我添加的標籤。 – hvgotcodes 2012-03-21 20:48:00

回答

1

我假設這是Java,也是它的功課。

不正確。

如果集合包含Items的情況下,爲你寫(類或許應該叫Item,不Items),則循環應聲明如下

for(Items item: inventory){ 
    ... 
} 

你是不是在關閉您的for循環代碼在你的例子。另外,如果您只需要在列表中打印所有內容,則不需要+=(字符串連接)。您可以直接打印該項目,每次通過循環。

System.out.println(item.toString());

+0

那麼你是說我根本不需要中間部分,我只需要寫 (Items items:inventory){ System.out.println(item.toString()); } ? – 2012-03-21 21:08:54

+0

就是這樣的,是的。爲什麼不試試呢 – hvgotcodes 2012-03-21 21:19:49

+0

嗯,我實際上沒有收集類的項目,所以它不會編譯。 – 2012-03-21 21:26:27

1

現在你是哪個不打算一個String對象和描述上調用toStringinventory包含類Items的對象。它應該更可能如下:

String result; 
for (Items items : inventory) { 
    result += items.toString(); 
} 
System.out.print(result); 
+2

你剛剛爲他做了功課。他沒有學到任何東西...... – hvgotcodes 2012-03-21 20:51:45

+0

這是真的,但在這個早期階段,我寧願給出答案:-)嗯,我剛剛意識到如果'items.toString()'不以換行符結束,還有一些編輯需要他去做。 – 2012-03-21 20:55:16

+0

好的,謝謝我欣賞它。另外我實際上並沒有輸入這個信息,我只是爲了一個決賽而學習,而這是我在此前錯過的一個測驗的問題。 – 2012-03-21 21:03:06