Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Mengenalpasti Integer Pendua dengan Betul dalam Tatasusunan Java?

Bagaimanakah Saya Boleh Mengenalpasti Integer Pendua dengan Betul dalam Tatasusunan Java?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-07 04:49:10720semak imbas

How Can I Correctly Identify Duplicate Integers in a Java Array?

Java Array, Mencari Pendua

Masalah:
Di Java, tatasusunan integer diberikan, dan matlamatnya adalah untuk mengenal pasti dan melaporkan sebarang unsur pendua dalam tatasusunan. Walau bagaimanapun, pendekatan semasa untuk mengesan pendua menghasilkan hasil yang salah apabila tiada pendua wujud.

Kod Asal:

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;
        }
    }
}

Isu dalam Kod Asal:
Isu timbul apabila tiada pendua dalam tatasusunan. Struktur gelung menetapkan pendua sebagai benar walaupun dalam senario ini kerana gelung dalam menyemak kesamaan antara setiap elemen dan dirinya sendiri. Oleh itu, apabila tiada pendua, pendua akhirnya menjadi benar.

Kod Yang Diperbaiki untuk Mengesan Pendua:
Untuk menangani isu ini, kod boleh diubah suai seperti berikut:

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;
        }
    }
}

Penjelasan:
Kod yang diubah suai ini termasuk keadaan tambahan (k != j) dalam gelung dalam. Langkah ini memastikan bahawa perbandingan hanya dilakukan antara elemen unik, mengelakkan pemeriksaan pendua setiap elemen dengan elemen itu sendiri. Akibatnya, pendua hanya akan ditetapkan kepada benar apabila pendua tulen ditemui, menghasilkan hasil yang tepat.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengenalpasti Integer Pendua dengan Betul dalam Tatasusunan Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn