[Thực hành] Sử dụng lớp ArrayIndexOutOfBoundsException

Xử lí ngoại lệ và Debug

Mục tiêu

Luyện tập sử dụng try-catch và các lớp Exception có sẵn.

Mô tả

Viết một chương trình cho phép tạo ra một mảng 100 số nguyên ngẫu nhiên. Cho phép người dùng nhập vào chỉ số của một phần tử và hiển thị giá trị của phần tử đó.

Sử dụng try-catch để hiển thị thông báo nếu người dùng nhập vào chỉ số không hợp lệ (index < 0 hoặc index >= 100)

Hướng dẫn

Bước 1: Tạo lớp ArrayExample

Tạo phương thức createRandom Trả về mảng số nguyễn ngẫu nhiên từ 0 đến 100.

public Integer[] createRandom() {
	Random rd = new Random();
	Integer[] arr = new Integer[100];
	System.out.println("Danh sách phần tử của mảng: " );
	for (int i = 0; i < 100; i++) {
		arr[i] = rd.nextInt(100);
		System.out.print(arr[i]+ " ");
	}
	return arr;
}

Bước 2: Tạo hàm main cho phép người dùng nhập vào chỉ số của một phần tử bất kỳ đồng thời tìm kiếm giá trị phần tử theo chỉ số đó dựa trên mảng vừa tạo

public static void main(String[] args) {
	ArrayExample arrExample = new ArrayExample();
	Integer[] arr = arrExample.createRandom();
		
	Scanner scaner = new Scanner(System.in);
	System.out.println("\nVui lòng nhập chỉ số của một phần tử bất kỳ: ");
	int x = scaner.nextInt();
	try {
		System.out.println("Giá trị của phần tử có chỉ số 5" + x + " là " + arr[x]);
	} catch (IndexOutOfBoundsException e) {
		System.err.println("Chỉ số vượt quá giới hạn của mảng");
	}
}

Bước 3: Chạy chương trình và kiểm tra kết quả

Danh sách mảng 100 phần tử in ra như sau:

Danh sách phần tử của mảng:

14 36 56 30 11 69 43 81 11 92 27 61 26 82 12 92 68 86 91 61 12 13 9 22 44 17 52 29 18 19 51 3 70 22 34 49 28 35 8 83 46 40 12 66 11 57 20 0 3 93 60 35 99 77 36 40 6 51 73 32 90 20 81 66 78 82 7 51 72 24 29 22 57 14 94 43 65 76 48 83 88 11 78 78 73 40 80 50 83 26 28 56 22 15 73 94 93 38 95 40

Vui lòng nhập chỉ số của một phần tử bất kỳ:

Khi bạn tiến hành nhập chỉ số mong muốn:

5

Output: Giá trị của phần tử có chỉ số 5 là 69

111

Output Exception: Chỉ số vượt quá giới hạn của mảng


Hãy tham gia nhóm Học lập trình để thảo luận thêm về các vấn đề cùng quan tâm.

Leave a Reply

Your email address will not be published. Required fields are marked *