2014-09-11 16 views
0

我正在嘗試將用戶輸入引入Hashset,並且稍後需要使用散列集對象進行元素比較。我怎樣才能做到這一點?以下是我的代碼:在Hashsets中的用戶輸入以供以後比較

import java.util.*; 

public class GemStones{ 

    public static void main(String[] args) { 

     HashSet<Character> set = new HashSet<Character>();  
     Scanner in = new Scanner(System.in); 
     int t = in.nextInt(); 
     for(int i = 0; i < t; i++){ 
      String str = in.next(); 
      for (int j = 0; j < str.length(); j++) { 
       char c = str.charAt(j); 
       set.add(c); 
      } 
     } 
     in.close();       
    } 
} 
+1

如果你想使用你的hashset進行後期比較,那麼理想情況下你需要將它存儲在實例變量中。也請指出你無法通過指出你的代碼 – 2014-09-11 11:19:35

+0

Sure Anand來做什麼。在這裏如果用戶輸入3個字符串,我怎樣才能得到三個單獨的設置對象來操作。你能澄清一點,我怎樣才能存儲實例變量?基本問題,因爲我開始學習很晚..:P – Xhings 2014-09-11 11:26:47

+0

請調查數組和列表。 – Arkadiy 2014-09-11 12:32:01

回答

0

您可以通過在類級別聲明方法以外的方法來創建實例變量。如果你想在以後獲得的這個集合的內容,並從不同的類

public class GemStones{ 

    private HashSet<Character> set = new HashSet<Character>();  


    public HashSet<Character> getSet() { 
     return set; 
    } 

    public void setSet(HashSet<Character> set) { 
     this.set = set; 
    } 

    public static void main(String[] args) { 
     GemStones stoneObj = new GemStones(); 
     ....... 
     HashSet set = stoneObj.getSet(); 
     set.add(c) 
    ...... 

     ...... 


.... 

    } 

這給你一個大綱修改,並需要進一步的檢查情況和當地varaibles以及如何訪問對象和命名約定,使你的代碼更好。