2012-03-21 1 views
0

Итак, вопрос: «У меня есть объект класса коллекции, называемый инвентаризацией, и он содержит объекты из класса« Элементы ». Предположим, что класс Items содержит метод toString(), чтобы сделать печать легкой. цикл for-each, который будет выполнять итерацию по всему классу коллекции и для каждого объекта в классе выводит объект в System.out. "Для каждого цикла для прошлой викторины

меня -

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

Является ли это правильно?

+0

Я предполагаю, что это домашнее задание и java. Если нет, исправьте теги, которые я добавил. – hvgotcodes

ответ

1

Я предполагаю, что это java, а также что это домашнее задание.

Неправильно.

Если коллекция содержит Items экземпляры, как вы написали (класс, вероятно, следует назвать Item, не Items), то цикл должен быть объявлен как

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

Вы не закрываете цикл в кода в вашем примере. Кроме того, если вам просто нужно распечатать все в своем списке, вам не нужно += (конкатенация строк). Вы можете просто распечатать элемент напрямую, каждый раз через цикл.

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

+0

Итак, вы говорите, что мне не нужна средняя часть вообще, я могу просто написать для (Предметы: инвентарь) { System.out.println (item.toString()); } ? –

+0

Что-то вроде этого, да. Почему бы вам не попробовать – hvgotcodes

+0

Ну, у меня на самом деле нет класса коллекции для элементов, поэтому он не будет компилироваться. –

1

Вы теперь называют toString на String объект, который не предназначен и описание говорит, что inventory содержит объекты класса Items. Это, скорее всего, будет следующим:

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

вы только что сделали свою домашнюю работу для него. Он ничего не узнал .... – hvgotcodes

+0

Это правда, но на этом раннем этапе я бы скорее дал ответ :-) Ну, я просто понял, что если 'items.toString()' не заканчивается новой строкой, для него все еще есть какое-то редактирование. –

+0

Хорошо спасибо, я ценю это. Также я на самом деле не набираю это, я просто учусь на финал, и это был вопрос о викторине, которую я пропустил раньше в этом термине. –