请教高手指点!!!!

Guenter 2006-03-31 12:36:34
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 怎么没有结果呢!!
...全文
167 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
cocosunshine 2006-03-31
  • 打赏
  • 举报
回复
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]);
}
}
Guenter 2006-03-31
  • 打赏
  • 举报
回复
我想吧!a[0]输出8
怎么改呀!!
cleansunshing 2006-03-31
  • 打赏
  • 举报
回复
IndexOutOfBoundsException
huangdeji 2006-03-31
  • 打赏
  • 举报
回复
a[i]=i=8;这句执行完了以后 i = 8;
System.out.println(i+" "+a[0]+" "+a[1]+" "+a[i]);这里的a[i]相当于a[8],
这时就会出现错误了
ArrayIndexOutOfBoundsException

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]);
}
这样写就对了
yuzl32 2006-03-31
  • 打赏
  • 举报
回复
int i=0;
int a[]={3,7};
//a[i]=i=8; ArrayIndexOutOfBoundsException
System.out.println(i+" "+a[0]+" "+a[1]+" "+a[i]);
Camelh 2006-03-31
  • 打赏
  • 举报
回复
都说完了,大家动作真快
hsuyuan 2006-03-31
  • 打赏
  • 举报
回复
基础问题,建议看书,不过有20分,我眼睛又红了。。。
数组嘛,比如int a[2]={1,2} 其实就是a[0]=1和a[1]=2 注意啦 这里没有a[3]
你定义的int a[]={3,7};相当于int a[2]={3,7}; 数组定义了就不能扩展了,要定义动态数组用LIST
liukang520236 2006-03-31
  • 打赏
  • 举报
回复
忘记说重点了,晕

a[i]=i=8;//等号的执行顺序是右到左
所以先是i=8,然后a[8]=8德说
然后呢,你的数组声明的时候只有2各元素
所以不包括a[8]的说
但是你却想给a[8]赋值
所以导致越界
liukang520236 2006-03-31
  • 打赏
  • 举报
回复
a[i]=i=8;//等号的执行顺序是右到左
所以先是i=8,然后a[8]=8德说



我想吧!a[0]输出8
怎么改呀!!
/////////////////
同意我楼上的
zpz2001 2006-03-31
  • 打赏
  • 举报
回复
你的a[i]下标越界,你把+a[i]拿掉看看

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧