0
我的代碼需要一個字符串輸入,將它們分開並在其中找到一個特定的字母,然後將其打印出來。現在,我想確保同一個字只打印一次。例如,如果輸入是「她看起來不錯,她很友善。」那麼輸出將是「她\\不錯」這是我目前的代碼:如何檢查字符串中的同一個單詞?
Scanner kybd = new Scanner(System.in);
String s = kybd.nextLine();
String[] arr = s.split(" ");
for (String ss : arr) {
String []ary = {ss};
for(int i = 0; i < ary.length; i++){
int numindex = ss.indexOf("e");
int numindex2 = ss.indexOf("E");
if (numindex != -1){
System.out.println(ary[i]);
}
else if(numindex2 != -1){
System.out.println(ary[i]);
}
}
}
任何建議如何做到這一點,將不勝感激。
爲了保持詞在句子的順序,一個ArrayList(用於存儲)和一個HashSet(用於測試前世)都可以使用;如果沒有效率問題(這裏可能沒有小列表),那麼List.contains就足夠存在測試(並且Set可以被跳過),並且比手動數組容易得多。 – user2864740
不,維持順序我會使用TreeSet。至少在這種情況下。 http://docs.oracle.com/javase/7/docs/api/java/util/TreeSet.html –
哦,好的。我誤解了你的觀點,或許你應該提到你的意思是在你的評論中插入順序。好吧,好的。 –