2016-11-09 35 views
-2

我是新来的Java,并试图循环通过使用我的主要方法中的增强for循环创建的HashSet。我收到了“void”类型的错误,这里不允许这样做“,我不太清楚如何解决这个问题。我相信这对大多数人来说可能看起来像是一个简单的错误,但我非常喜欢初学者,为了这个错误是什么意思,以及如何解决这个问题,将不胜感激下面是代码:尝试循环HashSet时不允许在这里使用void类型?

主类

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); 
     } 
     secondWordGroup.getWordSet(secondWordGroup); 
     firstWordGroup.getWordSet(firstWordGroup); 

     for (WordGroup pp : secondWordGroup.getWordSet(secondWordGroup)) { 
      System.out.println(pp); 
     } 
    } 
} 

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 void getWordSet(WordGroup secondWordGroup) { 

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

    for (String word : secondWordGroup.getWordArray()) 
     newHashSet.add(word); 

    for (String word : this.getWordArray()) 
     newHashSet.add(word); 
    System.out.println(newHashSet); 
    } 
} 
+2

格式化您的代码,并添加发生错误,将有助于的指标。 –

+2

当提出问题时,你需要把自己放在我们的鞋子里。如果你没有提供足够的信息,比如哪个语句给你的错误,为什么我们应该花时间在代码中挖掘,看看我们能否猜到?请再次发帖前请访问[帮助],尤其是阅读[问]。 –

回答

0

常Ë

public void getWordSet(WordGroup secondWordGroup) { 

回报Set<String>你正在构建,像

public Set<String> getWordSet(WordGroup secondWordGroup) { 

添加

return newHashSet; 

到底。然后,用你的for-each循环遍历它,这将是String所以你需要

for (String pp : secondWordGroup.getWordSet(secondWordGroup)) { 
    System.out.println(pp); 
}