JAVA 用int maxArray(int[] arra)和int maxArray(int [][] arr)两个方法返回数组所有元素的最大值
时间: 2024-10-15 10:06:16 浏览: 51
在Java中,你可以为一维数组和二维数组分别编写`maxArray`方法,它们的实现略有不同。
对于一维数组`int[] arr`,如你所提的`int maxArray(int[] arr)`,函数可以按之前的方式遍历数组,寻找最大值:
```java
public static int maxArray(int[] arr) {
if (arr == null || arr.length == 0) {
throw new IllegalArgumentException("Array is empty or null");
}
int max = arr[0];
for (int num : arr) {
if (num > max) {
max = num;
}
}
return max;
}
```
而对于二维数组`int[][] arr`,比如`int maxArray(int [][] arr)`,我们需要遍历每个子数组来找出最大值,因为二维数组实际上是一系列的一维数组:
```java
public static int maxArray(int[][] arr) {
if (arr == null || arr.length == 0) {
throw new IllegalArgumentException("Matrix is empty or null");
}
int max = Integer.MIN_VALUE; // 初始化为负无穷防止溢出
for (int[] subArr : arr) {
if (subArr != null && subArr.length > 0) {
int tempMax = maxArray(subArr);
if (tempMax > max) {
max = tempMax;
}
}
}
return max;
}
// 对于一维数组的情况单独再提供一个版本
public static int maxArray(int[] subArr) {
if (subArr == null || subArr.length == 0) {
throw new IllegalArgumentException("Sub-array is empty or null");
}
// 类似于上面一维数组的代码
}
```
阅读全文