韩顺平Java08——类与对象Homework

  1. 编写类A01,定义方法max(),实现求某个double数组的最大值

我的:

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;
        }
    }

}

 

posted @ 2021-12-10 01:31  紫英626  阅读(50)  评论(0编辑  收藏  举报

紫英