2016-11-09 31 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); 
}