文字列配列の重複を削除しようとしていますが、 分割文字列を使用して配列内の文字列を取得し、カウンタメソッドを使用して重複を数えます。私が間違ったことを理解していないJavaの重複した文字列
public class Program {
public static void uniqWords(String s){
String[] sentence = s.split(" ");
int[] counter = new int[sentence.length];
for(int i=0; i< sentence.length; i++){
for(int j=i+1; j<sentence.length; j++){
if(sentence[i] == sentence[j]){
counter[i] =1;
}
}
}//
for(int i=0; i<counter.length; i++){
System.out.print(counter[i] + ",");
}
for(int i =0; i<sentence.length; i++){
if(counter[i] == 1){
sentence[i] = "";
}
}
//print
for(int i=0; i<sentence.length; i++){
System.out.print(sentence[i]);
System.out.print(" ");
}
//
}
public static void main(String[] args) {
// TODO Auto-generated method stub
uniqWords("Spring in in Paris");
}
}
あなたは本当に何も数えていません。あなたは何かを見つけるたびに「1」にカウンターを設定しています。また、あなたのプログラムをデバッグしてください。このような間違いを見つけ出すことは、デバッガの目的です。 Spoiler:文字列とjavaの '' == ''を比較しません。 – f1sh
@KevinEsche - 配列をSetに変換したら、どのように文を再構成することを提案しますか?それは "重複を*文から削除する*"が伴いますので、 –
@MarkAdelsbergerを 'String'配列に戻して変換しますか? – SomeJavaGuy