全国软件设计大赛--递归求数组中最大元素
有如下程序,完成的功能为:找出数组中的最大元素。请填写程序的中空白,使程序运行正确。
public class test
{
publicstatic void main(String[] args) {
intarray[]={0,34,67,90,21,-9,98,1000,-78};
System.out.println(new test().findMax (array, 0));
}
public intfindMax(int array[],int index)
{
if(array==null || array.length==0)
{
return 0;
}
intmax=array[0];
if(index<array.length-1)
{
max=____________________
}
if(max<array[index]) max= array[index];
returnmax;
}
}
完整代码:
public class max {
public static void main(String args[])
{
int array[]={0,34,67,90,21,-9,98,1000,-78};
System.out.println(new max().findMax(array,0));
}
public int findMax(int array[],int index)
{
if(array==null||array.length==0)
{
return 0;//判断该数组是否存在,或者是否存在值,没有的话返回0
}
int max=array[0];//为变量赋初值
if(index<array.length-1)
{
max=findMax(array,index+1);//采用递归的方式取得当前后以位置,并将返回值赋到max
}
if(max<array[index])
max=array[index];//将返回来的值与当前数组中index的值相比较,得出较小的值覆盖max
return max;
}
}