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

能否使用foreach来给数组赋值?

foreach操作数组时是不是只用来将其元素“打印”出来,可以用来给新数组赋值吗?我在eclipse上编写的给数组赋值的代码如下:

http://img1.sycdn.imooc.com//5795d2440001846c10620739.jpg

代码可以运行,虽然运行结果有问题,第八行有个提示:The value of the local variable score is not used,

正在回答

2 回答

数组只能通过索引的方式为数组元素赋值,foreach只是for的一个遍历元素增强版,并不能完全取代for,能用foreach的地方就能用for,反之不行

0 回复 有任何疑惑可以回复我~
#1

兮蓅 提问者

谢啦~
2016-07-25 回复 有任何疑惑可以回复我~

for (int i=0;  i<scores.length;  i++) {

    scores[i] = (int) (Math.random()*100);

}

1 回复 有任何疑惑可以回复我~
#1

兮蓅 提问者

谢谢你~ for循环确实是可以,但是我想知道用foreach怎样才能实现同样的功能或者foreach不能用来给数组赋值?
2016-07-25 回复 有任何疑惑可以回复我~
#2

211103 回复 兮蓅 提问者

不可以,foreach是无法对​数组元素赋值的,只可以读出来他的 元素值,可以理解为只读。它是无法访问到数组的下标的。这么给你解释吧,score只是个局部变量,第一次循环时 score=scores[0];你在让 score=(int) (Math.random()*100);只是改变了score这个局部变量的值,并没有让它存入scores[0]中,所以报错了。
2016-07-25 回复 有任何疑惑可以回复我~
#3

兮蓅 提问者 回复 211103

真是醍醐灌顶,我确实忽略了这个。
2016-07-25 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

能否使用foreach来给数组赋值?

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号