2016-11-08 5 views
0

Я новичок в Java и делаю программирования вызов и просто не могу понять, что подразумевается под:Как использовать цикл for для печати значений объектов в HashSet?

  1. использует два для петель, чтобы поместить все слова из это (помните, что вы будете выполнить этот метод внутри объекта WordGroup) и параметр WordGroup в HashSet.

(предполагают, это относится к одному из моих WordGroups.)

Я видел другие примеры для петли используются для хранения объектов, но я никогда не делал этого лично. Я только использовал цикл for для итерации по списку массивов и прежде всего распечатывал список переменных. Я не уверен, как бы написать это для цикла, чтобы выполнить эту инструкцию. Вот код:

WordGroup класс

package lab5; 
import java.util.HashSet; 
public class WordGroup { 

String word; 

//Creates constructor which stores a string value in variable "word" and converts this into lower case using the lower case method. 
public WordGroup(String aString) { 
    this.word = aString.toLowerCase(); 
} 
public String[] getWordArray() { 
    String[] wordArray = word.split("-"); 
    return wordArray; 
} 


public String getWordSet(WordGroup secondWordGroup) { 

HashSet<String> newHashSet = new HashSet<>(); 

for (WordGroup x : secondWordGroup) { 
    newHashSet.put(x); 
} 

} 
} 

Основной класс

package lab5; 

public class Main{ 
    public static void main (String[] args) { 
     WordGroup firstWordGroup = new WordGroup("You-can-discover-more-about-a-person-in-an-hour-of-plau-tban-in-a-year-of-conversation"); 
     WordGroup secondWordGroup = new WordGroup ("When-you-play-play-hard-when-you-work-dont-play-at-all"); 

     System.out.println("*****First Array list*****"); 
     String[] firstWordArray = firstWordGroup.getWordArray(); 
     for(String word : firstWordArray) { 
      System.out.println(word); 
     } 
     System.out.println("*****Second Array list*****"); 
     String[] secondWordArray = secondWordGroup.getWordArray(); 
     for(String word : secondWordArray) { 
      System.out.println(word); 
     } 
    } 
} 

Если кто-нибудь может помочь новичку на то, что подразумевается под этим и как это реализовать, это было бы очень полезно и высоко оценено мной и, возможно, другими, у кого может быть такая же проблема. Благодарю. Постскриптум Я знаю, что мой цикл for совершенно не прав, но я хотел хотя бы попробовать его, а не просить о помощи, даже не пытаясь самостоятельно.

ответ

0

Это немного неясно, но я предполагаю, что getWordSet должен вернуть набор слов, которые находятся в объекте WordGroup, который вы вызываете, и в WordGroup, которую вы укажете в качестве входных данных. Поэтому, если wg1 имеет слова «a» и «b», а wg2 имеет слова «b» и «c», то wg1.getWordSet (wg2) возвращает набор, содержащий слова «a», «b», «c ».

Для достижения этой цели, вы хотите сделать что-то вроде этого:

HashSet<String> newHashSet = new HashSet<>(); 
for (String word : secondWordGroup.getWordArray()) 
    newHashSet.add(word); 

for (String word : this.getWordArray()) 
    newHashSet.add(word); 
+0

Спасибо за ответ, я думаю, должен работать, но единственная проблема, почему-то моя программа не может найти символ для». положить методы ". Не слишком уверен, почему. – Alan

+0

О, это, должно быть, добавить, а не поставить, извините. – Lidae

+0

Ahh хорошо, спасибо за вашу помощь! – Alan