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.
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.
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]); }
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); }
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("数组下标越界了!"); }
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.
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!