我寫了這個代碼:
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;
}
這是爲了檢查是否字符串數組包含一個或多個重複項。但是,即使當我這樣定義數組時:
String[] temp = new String[2];
temp[0] = "a";
temp[1] = "a";
if條件未被「觸發」。我誤解了如何& &的作品?在我看來,程序應該首先檢查兩個字符串是否相同(它們是...),然後檢查兩個索引是否相同。如果不是,它應該執行操作。 但是,程序似乎認爲不然。
沒有直接關係刪除重複的,但你可以加快這通過初始化J =我,因爲你顯然不需要重新測試下部串。你還應該在比較之前檢查輸入[i]是否爲空... – sybkar
你甚至可以避免檢查'i!= j'。您只需將'j'初始化爲'i + 1'。所以第二個for循環看起來像︰for(j = i + 1; j
Nejc