Rumah > Java > javaTutorial > teks badan

Program Java untuk menyemak sempadan tatasusunan apabila memasukkan elemen tatasusunan

WBOY
Lepaskan: 2023-08-28 10:29:05
ke hadapan
1158 orang telah melayarinya

Susun atur ialah struktur data linear yang digunakan untuk menyimpan kumpulan elemen dengan jenis data yang serupa. Ia menyimpan data secara berurutan. Sebaik sahaja kami mencipta tatasusunan, kami tidak boleh menukar saiznya, iaitu ia adalah panjang tetap.

Artikel ini akan membantu anda memahami konsep asas tatasusunan dan pengikatan tatasusunan. Juga, kita akan membincangkan program java untuk menyemak sempadan tatasusunan sambil memasukkan elemen ke dalam tatasusunan.

Array dan array mengikat

Kita boleh mengakses elemen tatasusunan mengikut indeks. Katakan kita mempunyai susunan panjang N, kemudian

Program Java untuk menyemak sempadan tatasusunan apabila memasukkan elemen tatasusunan

Dalam gambar di atas kita dapat melihat bahawa terdapat 7 elemen dalam tatasusunan, tetapi nilai indeks adalah dari 0 hingga 6, iaitu, 0 hingga 7 - 1.

Julat tatasusunan dipanggil sempadannya. Julat tatasusunan di atas adalah dari 0 hingga 6, oleh itu, kita juga boleh mengatakan bahawa 0 hingga 6 ialah sempadan tatasusunan yang diberikan. Jika kami cuba mengakses nilai indeks di luar julat atau indeks negatif, kami akan mendapat ArrayIndexOutOfBoundsException. Ini adalah ralat yang berlaku semasa masa jalan.

Sintaks untuk mengisytiharkan tatasusunan

Data_Type[] nameOfarray; 
// declaration
Or,
Data_Type nameOfarray[]; 
// declaration
Or,
// declaration with size
Data_Type nameOfarray[] = new Data_Type[sizeofarray]; 
// declaration and initialization
Data_Type nameOfarray[] = {values separated with comma};
Salin selepas log masuk

Kami boleh menggunakan mana-mana sintaks di atas dalam program kami.

Menyemak sempadan tatasusunan apabila memasukkan elemen ke dalam tatasusunan

Contoh 1

Jika kita mengakses elemen dalam julat tatasusunan, maka kita tidak akan mendapat sebarang ralat. Program ini akan dilaksanakan dengan jayanya.

public class Main {
   public static void main(String []args) {
      // declaration and initialization of array ‘item[]’ with size 5
      String[] item = new String[5]; 
      // 0 to 4 is the indices 
      item[0] = "Rice";
      item[1] = "Milk";
      item[2] = "Bread";
      item[3] = "Butter";
      item[4] = "Peanut";
      System.out.print(" Elements of the array item: " );
      // loop will iterate till 4 and will print the elements of ‘item[]’
      for(int i = 0; i <= 4; i++) {
         System.out.print(item[i] + " ");
      }
   }
}
Salin selepas log masuk

Output

Elements of the array item: Rice Milk Bread Butter Peanut
Salin selepas log masuk

Contoh 2

Mari kita cuba mencetak nilai di luar julat tatasusunan yang diberikan.

public class Tutorialspoint {
      public static void main(String []args) {
      String[] item = new String[5];
      item[0] = "Rice";
      item[1] = "Milk";
      item[2] = "Bread";
      item[3] = "Butter";
      item[4] = "Peanut";
      // trying to run the for loop till index 5
      for(int i = 0; i <= 5; i++) {
         System.out.println(item[i]);
      }
   }
}
Salin selepas log masuk

Output

Rice
Milk
Bread
Butter
Peanut
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5
at Tutorialspoint.main(Tutorialspoint.java:11)
Salin selepas log masuk

Seperti yang kita bincangkan sebelum ini, jika kita cuba mengakses tatasusunan dengan nilai indeks di luar julatnya atau indeks negatif, kita akan mendapat ArrayIndexOutOfBoundsException.

Dalam atur cara di atas, kami cuba melaksanakan gelung for sehingga indeks 5 tatasusunan "item[]", tetapi julatnya hanya 0 hingga 4. Jadi selepas mencetak elemen sehingga 4 kita mendapat ralat.

Contoh 3

Dalam contoh ini, kami cuba mengendalikan ArrayIndexOutOfBoundsException menggunakan cuba dan tangkap blok. Kami akan menyemak sempadan tatasusunan apabila pengguna memasukkan elemen ke dalam tatasusunan.

import java.util.*;
public class Tutorialspoint {
   public static void main(String []args) throws ArrayIndexOutOfBoundsException {
      // Here ‘sc’ is the object of scanner class
      Scanner sc = new Scanner(System.in); 
      System.out.print("Enter number of items: ");
      int n = sc.nextInt();
      // declaration and initialization of array ‘item[]’
      String[] item = new String[n]; 
      // try block to test the error
      try {
         // to take input from user
         for(int i =0; i<= item.length; i++) {
            item[i] = sc.nextLine();
         }
      }
      // We will handle the exception in catch block
      catch (ArrayIndexOutOfBoundsException exp) {
         // Printing this message to let user know that array bound exceeded
         System.out.println(
         " Array Bounds Exceeded  \n Can't take more inputs ");
      }
   }
}
Salin selepas log masuk

Output

Enter number of items: 3
Salin selepas log masuk

KESIMPULAN

Dalam artikel ini, kami mempelajari tentang tatasusunan dan pengikatan tatasusunan. Kami telah membincangkan sebab kami menerima ralat jika kami cuba mengakses elemen tatasusunan di luar skopnya dan cara mengendalikan ralat ini menggunakan blok cuba dan tangkap.

Atas ialah kandungan terperinci Program Java untuk menyemak sempadan tatasusunan apabila memasukkan elemen tatasusunan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:tutorialspoint.com
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan