日期:2014-05-20 浏览次数:20921 次
int array[]={0,34,67,90,21,-9,98,1000,-78};
// System.out.println(new CTest().findMax(array, 0));
// }
public int findMax(int array[],int index)
{
if(array==null || array.length==0)
{
return 0;
}
int max=array[0];
/**
* 这个if语句表示如果index小于数组长度-1 ,也就是<=array.length-2
* 就递归调用(自己调用自己)findMax方法,此时他给的参数是index+1。
* 和if条件组合起来,说明数组下标就是0到array.length-1,这样就不会出现数组下标越界的异常。
* 简单的说,被程序定义的array数组,length为9,那他的index范围就是0~8,如果是array[9]就不行了。
*/
if(index<array.length-1)
{
max=findMax(array,index+1);
}
if(max<array[index])
max= array[index];
return max;
------解决方案--------------------
就是以递归,index+1,可以比较下一个,自个那笔比划比划