重複の可能性:
Java で文字列を比較するにはどうすればよいですか?
私はこのコードを書きました:
public String[] removeDuplicates(String[] input){
int i;
int j;
int dups = 0;
int array_length = input.length;
for(i=0; i < array_length; i++){
//check whether it occurs more than once
for(j=0; j < array_length; j++){
if (input[i] == input[j] && i != j){
dups++; //set duplicates boolean true
input[j] = null; //remove second occurence
} //if cond
} // for j
} // for i
System.out.println("Category contained " + dups + " duplicates.");
return input;
}
文字列の配列に1つ以上の重複が含まれているかどうかを確認することになっています。ただし、次のように配列を定義しても:
String[] temp = new String[2];
temp[0] = "a";
temp[1] = "a";
if 条件が「トリガー」されていません。&& の仕組みを誤解していませんか? 私の意見では、プログラムは最初に 2 つの文字列が同一かどうか (どちらが...) をチェックし、次に 2 つのインデックスが同じかどうかをチェックする必要があります。そうでない場合は、操作を実行する必要があります。しかし、プログラムは別のことを考えているようです。