在Java中,判断二维数组是否越界可以通过以下几种方法:
手动检查
逐个索引比较是否超过数组的行或列长度。
int[][] array = {{1, 2, 3}, {4, 5, 6}};int row = 1;int col = 3;if (row >= 0 && row < array.length && col >= 0 && col < array.length) {System.out.println("元素存在");} else {System.out.println("元素越界");}
使用`Arrays.checkIndex`方法
Java提供了`Arrays.checkIndex`方法来检查数组索引是否越界。
int[][] array = {{1, 2, 3}, {4, 5, 6}};int row = 1;int col = 3;try {Arrays.checkIndex(array.length, row);Arrays.checkIndex(array.length, col);System.out.println("元素存在");} catch (IndexOutOfBoundsException e) {System.out.println("元素越界");}

使用`try-catch`捕获异常
利用Java中的异常处理机制,通过捕获`ArrayIndexOutOfBoundsException`异常来判断数组访问是否越界。
int[][] array = {{1, 2, 3}, {4, 5, 6}};int row = 1;int col = 3;try {int value = array[row][col];System.out.println("数组元素值为: " + value);} catch (ArrayIndexOutOfBoundsException e) {System.out.println("元素越界");}
使用数组长度进行判断
利用数组的长度来判断访问数组元素时是否越界。
int[][] array = {{1, 2, 3}, {4, 5, 6}};int row = 1;int col = 3;if (row >= 0 && row < array.length && col >= 0 && col < array.length) {System.out.println("数组元素值为: " + array[row][col]);} else {System.out.println("数组下标越界!");}
