题目:
代码:
public class HomeWork01{
public static void main(String[] args){
double[] arr = {
34.5, 56.8, 129.3, 22.4, 103.5};
A01 a1 = new A01();
System.out.println("数组内最大值为" + a1.max(arr));
}
}
class A01{
public double max(double[] arr){
double maxNum = arr[0];
for(int i = 1; i < arr.length; i++){
if(maxNum < arr[i]){
maxNum = arr[i];
}
}
return maxNum;
}
}
进一步优化:假如数组内元素的个数为0
public class HomeWork01{
public static void main(String[] args){
double[] arr = {
};
A01 a1 = new A01();
System.out.println("数组内最大值为" + a1.max(arr));
}
}
class A01{
public double max(double[] arr){
double maxNum = arr[0];
for(int i = 1; i < arr.length; i++){
if(maxNum < arr[i]){
maxNum = arr[i];
}
}
return maxNum;
}
}
编译运行结果

完善代码
public class HomeWork01{
public static void main(String[] args){
double[] arr = {
};
A01 a1 = new A01();
Double res = a1.max(arr);
if(res != null){
System.out.println("数组内最大值为" + a1.max(arr));
}else{
System.out.println("数组输入有误...");
}
}
}
class A01{
public Double max(double[] arr){
//保证arr至少有一个元素(涉及到代码健壮性)
if(arr.length > 0){
double maxNum = arr[0];
for(int i = 1; i < arr.length; i++){
if(maxNum < arr[i]){
maxNum = arr[i];
}
}
return maxNum;
}else{
return null;
}
}
}
分析:方法中的数据返回类型由double改成Double,当数组内为空时,返回一个null
运行结果

再进一步完善代码
假如double[] arr = null;
public class HomeWork01{
public static void main(String[] args){
double[] arr = null;