程序到底该怎么改呀 老是报错
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
at Szu.max(Szu.java:14)
at Szu.main(Szu.java:26)
---------------------------------------------------------------------------------------------------------------
public class Szu { public static int max(int table[])//输出数组中最大的
{ int ma=1; int i=0;
do{ i++;
if(table[i]>table[i+1])
ma=table[i];
else
ma=table[i+1];
}while(i<table.length);
return ma;
}
public static void main(String args[])
{
int a[]={2,3,2,4,6};
System.out.print(max(a));
}
}
if(table[i]>table[i+1])我看 直接 比较 table[1]>table[2]你又 while(i<table.length)显示数组越界.解决方法:i++位置要放合适
public static int max(int table[])//输出数组中最大的
{
int ma=table[0];
int i=0;
do{
i++;
if(ma<table[i])
ma=table[i];
}while(i<table.length-1);
return ma;
}
public static void main(String args[])
{
int a[]={2,3,9,4,6,-4,46};
System.out.print(max(a));}
{
int ma=table[0];
int i=0;
do{
if(ma<table[i])
ma=table[i];
i++;
}while(i<table.length);
return ma;
}
{
int ma = table[0]; int i = 1;
do {
if (ma < table[i])
ma = table[i];
i++;
} while (i < table.length);
return ma;
}