为了账号安全,请及时绑定邮箱和手机立即绑定

把输出语句放在自增前后,num[i]的值为什么会不一样?

把输出语句放在自增前后,num[i]的值为什么会不一样?

错过了年华 2017-03-30 17:53:20
int[] nums = {3,5,7,5,5};        int i=0;        for(int ea:nums){            System.out.println(ea);            nums[i] = i+1;            System.out.println("数组中的"+i+"值:"+nums[i]); //输出1,2,3,4,5            i++;             //System.out.println("数组中的"+i+"值:"+nums[i]); 输出3,5,7,5,5        }
查看完整描述

2 回答

?
ziom

TA贡献948条经验 获得超1109个赞

是你不够仔细吧,先把那句打印ea的代码注释了,然后分别注释i++;上下两行的代码试试,打印出来的值肯定一样的

查看完整回答
1 反对 回复 2017-03-30
  • 错过了年华
    错过了年华
    关打印ea什么事?我注释了分别试了两遍放在前后的结果还是不一样。
  • ziom
    ziom
    你这个代码就有点莫名其妙,不知道你要测试甚么,我粘贴到eclipse试了一下,如果注释i++;上面那行,解开下面那行,运行会出一个下标越界异常,我让你注释那行打印ea的,是为了不被控制台多余的打印干扰。
  • 错过了年华
    错过了年华
    异常是这个? Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5 at com.imocc.HelloWorld.main(HelloWorld.java:12) 不好意思,刚学java还以为代码那没错就行了,console那有红字也算错误?好像也不影响运行啊 我就好奇为什么会出现这种结果而已...
点击展开后面1
  • 2 回答
  • 0 关注
  • 1381 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信