public static int getMax(int[] arr)
{
int max = arr[0];
for(int i=0;i<arr.length;i++)
{
if(arr[i]>arr[max])
max = arr[i];
}
return max;
}
为什么回报错呢?程序在哪里出错了
public static int getMax(int[] arr)
{
int max = arr[0];// 你这里定义的max是一个数组。
for(int i=0;i<arr.length;i++)
{
if(arr[i]>arr[max])//你这里又把max当成角标数。
max = arr[i]; //这里的max又变成数组了
}
return max;
}
这个哪去试试。就没错了
public static int getMax(int[] arr) {
int max = arr[0];
for (int i = 1;i<arr.length;i++ ) {//这而i要从1开始。不要自己和自己比呀
if (arr[i]>max) {
max = arr[i];
}
}
return max;//return 是for外返回
}
public static int getMax(int[] arr)
{
int max = arr[0]; //把数组中第一个元素赋值给最大值max
for(int i=0;i<arr.length;i++)
//因为第一个元素已经被赋值,所以这里初始化条件可以改为i=1更好,但i=0不影响运行。
{
if(arr[i]>arr[max]) //这里是出问题的地方,改为arr[i]>max才对,max才是存储最大值的容器。
max = arr[i];
}
return max;
}