在每个方法里做排序,三个方法区别在于后续处理,在catch里做就好了
注意你的要求是索引越界异常,我这是Exception。
老师应该是先测试你们try...catch异常捕获与throw throws的抛出异常知识点
public class MaxElement {
public static void main(String[] args) {
int[] arr = new int[]{34,12,78,10,56,30,2};
MaxElement maxElement = new MaxElement();
maxElement.getMax_1(arr);
try {
maxElement.getMax_2(arr);
}catch (ArrayIndexOutOfBoundsException e){
e.printStackTrace();
}
maxElement.getMax_3(arr);
}
public Integer getMax_1(int[] arr){
int max = arr[0];
try {
for (int i = 0; i < arr.length; i++) {
if (arr[i] < arr[i+1]){
max = arr[i+1];
}
}
}catch (ArrayIndexOutOfBoundsException e){
System.out.println(e.getMessage());
}
return max;
}
public Integer getMax_2(int[] arr) throws ArrayIndexOutOfBoundsException{
int max = arr[0];
for (int i = 0; i < arr.length; i++) {
if (arr[i] < arr[i+1]){
max = arr[i+1];
}
}
return max;
}
public Integer getMax_3(int[] arr){
int max = arr[0];
try {
for (int i = 0; i < arr.length; i++) {
if (arr[i] < arr[i+1]){
max = arr[i+1];
}
}
}catch (Exception e){
throw e;
}
return max;
}
}