我的:
package oop; public class Homework01 { public static void main(String[] args) { double [] array={1.5,6.5,3.14,89,78.9,1056.567}; A01 a = new A01(); a.max(array); } } class A01{ public void max(double [] array){ double max = 0; for (int i=0;i<array.length;i++){ if (max<array[i]){ max=array[i]; } } System.out.println("最大值为:"+max); } }
问题:没有考虑代码的健壮性——如果传入的数组为{}、null或者只有一个值得情况
老师改进:
加上:if (array !=null && array.length > 0)的判断,以及包装类Double对返回值进行判断
package oop; public class Homework01 { public static void main(String[] args) { double[] array = {}; A01 a = new A01(); Double res = a.max(array);//用于接收返回值 自动拆箱 if (res != null) { System.out.println("最大值为:" + res); } else { System.out.println("数组类型有误!"); } } } class A01 { public Double max(double[] array) { if (array != null && array.length > 0) {//确保数组不为空 double max = 0; for (int i = 0; i < array.length; i++) { if (max < array[i]) { max = array[i]; } } return max; } else { return null; } } }