Rumah > Java > javaTutorial > Bagaimana untuk menyelesaikan masalah subskrip tatasusunan di luar sempadan dalam Java?

Bagaimana untuk menyelesaikan masalah subskrip tatasusunan di luar sempadan dalam Java?

王林
Lepaskan: 2023-06-25 09:42:49
asal
3070 orang telah melayarinya

Di Java, kami sering menggunakan tatasusunan untuk menyimpan set data. Subskrip tatasusunan di luar sempadan bermakna subskrip yang digunakan semasa mengakses tatasusunan melebihi julat tatasusunan yang sah. Sebagai contoh, jika panjang tatasusunan ialah n, anda boleh mengakses elemen dengan indeks dari 0 hingga n-1. Jika kita cuba mengakses elemen dengan indeks n atau n+1, ralat di luar sempadan indeks tatasusunan akan berlaku. Artikel ini akan memperkenalkan cara menyelesaikan masalah subskrip tatasusunan di luar sempadan dalam Java.

  1. Fahami sebab mengapa subskrip tatasusunan berada di luar batas

Apabila menggunakan tatasusunan, kita perlu menjelaskan panjang dan julat subskrip tatasusunan. Jika kita melebihi julat ini, ralat luar sempadan subskrip tatasusunan akan berlaku.

Selain itu, jika kita menggunakan pembolehubah sebagai subskrip tatasusunan, kita juga perlu memberi perhatian sama ada nilainya sah. Jika nilai pembolehubah adalah negatif atau melebihi panjang tatasusunan, ralat luar sempadan subskrip tatasusunan juga akan berlaku.

  1. Kaedah untuk mengelakkan subskrip tatasusunan keluar dari batas

Di Jawa, kaedah untuk mengelakkan subskrip tatasusunan keluar dari batas termasuk yang berikut:

(1) Gunakan untuk gelung

Apabila menggunakan tatasusunan, kita biasanya perlu menggunakan tatasusunan gelung ke Lelaran ke atas elemen dalam tatasusunan. Anda boleh menggunakan gelung for untuk mengulangi tatasusunan, mengakses elemen tatasusunan melalui subskrip dalam gelung. Berikut ialah kod sampel yang menggunakan gelung for untuk merentasi tatasusunan:

int[] arr = {1, 2, 3, 4, 5};
for (int i = 0; i < arr.length; i++) {
    System.out.println(arr[i]);
}
Salin selepas log masuk

Dalam kod sampel ini, kami menggunakan pembolehubah gelung i sebagai indeks tatasusunan untuk melintasi elemen dalam tatasusunan daripada 0 hingga arr.length-1 .

(2) Gunakan dipertingkatkan untuk gelung

Java juga menyediakan gelung untuk dipertingkat untuk melintasi elemen dalam tatasusunan dan koleksi. Sintaks bagi gelung dipertingkatkan adalah seperti berikut:

for (int i : arr) {
    System.out.println(i);
}
Salin selepas log masuk

Dalam kod contoh ini, pembolehubah i akan memperoleh setiap elemen dalam tatasusunan secara bergilir-gilir, sekali gus mengelakkan keperluan untuk menggunakan subskrip secara manual untuk mengakses tatasusunan.

(3) Gunakan blok try-catch

Jika kita secara tidak sengaja melebihi julat tatasusunan semasa mengakses tatasusunan menggunakan subskrip, Java akan membuang pengecualian ArrayIndexOutOfBoundsException. Untuk mengelakkan ranap program, anda boleh menggunakan blok cuba-tangkap untuk menangkap pengecualian dan mengendalikannya. Berikut ialah contoh kod yang menggunakan blok try-catch untuk mengendalikan subskrip tatasusunan di luar had:

int[] arr = {1, 2, 3, 4, 5};
try {
    System.out.println(arr[5]); // 访问不存在的下标
} catch (ArrayIndexOutOfBoundsException e) {
    System.out.println("数组下标越界了!");
}
Salin selepas log masuk

Dalam contoh kod ini, kami cuba mengakses subskrip arr[5] yang tidak wujud dalam tatasusunan, tetapi gunakan blok cuba-tangkap untuk menangkapnya pengecualian dan mengeluarkan maklumat ralat dalam blok tangkapan.

  1. Ringkasan

Subskrip tatasusunan di luar sempadan ialah salah satu ralat biasa dalam Java, tetapi kita boleh mengelakkan ralat ini dengan memahami julat subskrip tatasusunan dan menggunakan kaedah seperti gelung, dipertingkatkan untuk gelung, dan cuba -menangkap blok. Dalam pembangunan sebenar, perhatian harus diberikan untuk menggunakan kaedah ini untuk menghalang subskrip tatasusunan daripada keluar dari sempadan dan menyebabkan program ranap.

Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah subskrip tatasusunan di luar sempadan dalam Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Isu terkini
Bolehkah java digunakan sebagai bahagian belakang web?
daripada 1970-01-01 08:00:00
0
0
0
Tidak dapat memasang java
daripada 1970-01-01 08:00:00
0
0
0
Pasang JAVA
daripada 1970-01-01 08:00:00
0
0
0
Bagaimanakah php melaksanakan penyulitan sha1 java?
daripada 1970-01-01 08:00:00
0
0
0
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan