public class Hello
 {
public static void main(String args[])
     {
int a[]={9,8,7,1,6,5,4,3,2,0},n=10,max,min,i=0;
        max=min=a[0];
for(i=1;i<n;i++)
      { if(a[i]>max)
max=a[i];
if(a[i]<min)
min=a[i];
      };
System.out.println("max="+a[i]);
System.out.println("min="+a[i]);
      }
}
在jdk中运行的出现这种提示,exception in threat "main" java.lang.arrayindexoutofbounds

解决方案 »

  1.   

        public static void main(String[] args)
        {
            int a[] = {9, 8, 7, 1, 6, 5, 4, 3, 2, 0}, n = 10, max, min, i = 0;
            max = min = a[0];
            for (i = 1; i < n; i++)
            {
                if (a[i] > max)
                    max = a[i];
                if (a[i] < min)
                    min = a[i];
            }
            System.out.println("max=" + max);
            System.out.println("min=" + min);
            
        }
      

  2.   

    max,min已经得到了呀,这时i是10,肯定要越界了
      

  3.   

    额- -#
    这个问题值得么。。
    你代码的目的是输出最大数和最小数的吧。
    最后你输入时候输出的变量a[i]是个什么东西
    你把sysout里面的变量改成max和min就成功运行了。
    你for循环里被赋值的变量就是max和min不是么?
      

  4.   

    System.out.println("max=" + max);
    System.out.println("min=" + min);输出错了
    输出a[i]有什么意义