public class Text1
{
public static void main(String[] args)
{
int i=0;
int a[]={3,7};
a[i]=i=8;
System.out.println(i+" "+a[0]+" "+a[1]+" "+a[i]);
}
}
java Text1 怎么没有结果呢!!

解决方案 »

  1.   

    int i=0;
    int a[]={3,7};
    //a[i]=i=8;  ArrayIndexOutOfBoundsException
    System.out.println(i+" "+a[0]+" "+a[1]+" "+a[i]);
      

  2.   

    a[i]=i=8;这句执行完了以后 i = 8;
    System.out.println(i+" "+a[0]+" "+a[1]+" "+a[i]);这里的a[i]相当于a[8],
    这时就会出现错误了
    ArrayIndexOutOfBoundsExceptionpublic static void main(String[] args)
    {
    int i=0;
    int a[]={3,7};
    a[i]=8;
    System.out.println(i+" "+a[0]+" "+a[1]+" "+a[i]);
    }
    这样写就对了
      

  3.   

    public class Text1
    {
    public static void main(String[] args)
    {
    int i=0;
    int a[]={3,7};
    a[i]=8;
    System.out.println(i+" "+a[0]+" "+a[1]+" "+a[i]);
    }
    }
      

  4.   

    你的a[i]下标越界,你把+a[i]拿掉看看
      

  5.   

    a[i]=i=8;//等号的执行顺序是右到左
    所以先是i=8,然后a[8]=8德说

    我想吧!a[0]输出8
    怎么改呀!!
    /////////////////
    同意我楼上的
      

  6.   

    忘记说重点了,晕a[i]=i=8;//等号的执行顺序是右到左
    所以先是i=8,然后a[8]=8德说
    然后呢,你的数组声明的时候只有2各元素
    所以不包括a[8]的说
    但是你却想给a[8]赋值
    所以导致越界
      

  7.   

    基础问题,建议看书,不过有20分,我眼睛又红了
    数组嘛,比如int a[2]={1,2}  其实就是a[0]=1和a[1]=2  注意啦 这里没有a[3] 
    你定义的int a[]={3,7};相当于int a[2]={3,7};  数组定义了就不能扩展了,要定义动态数组用LIST