Java 數組,找出重複項
問題:
在Java 中,給出一個整數數組,目標是識別並報告數組中的任何重複元素。然而,當不存在重複項時,目前檢測重複項的方法會產生錯誤的結果。
原始程式碼:
int[] zipcodelist = // ... boolean duplicates = false; for(j = 0; j < zipcodeList.length; j++){ for(k = 0; k < zipcodeList.length; k++){ if (zipcodeList[k] == zipcodeList[j]){ duplicates = true; } } }
原始程式碼中的問題:
當陣列中沒有重複項時就會出現問題。即使在這種情況下,循環結構也會將重複項指定為 true,因為內部循環會檢查每個元素與其本身之間的相等性。因此,當沒有重複項時,重複項最終為 true。
改進的偵測重複項的程式碼:
要解決此問題,可以將程式碼修改如下:
duplicates = false; for (j = 0; j < zipcodeList.length; j++){ for (k = j + 1; k < zipcodeList.length; k++){ if (k != j && zipcodeList[k] == zipcodeList[j]){ duplicates = true; } } }
說明:
以上是如何正確辨識Java數組中的重複整數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!