黑马程序员技术交流社区

标题: 关于集合的问题,介个输出结果---四个元素都是"李"??? [打印本页]

作者: small_horse    时间: 2015-8-15 13:11
标题: 关于集合的问题,介个输出结果---四个元素都是"李"???

作者: iamzk    时间: 2015-8-15 16:29
注意while循环中的赋值,是每一个循环都把arr中的所有元素都重新赋值了一遍,结果当然都是最后一个循环中的内容,可改为arr[index++] = string;

QQ截图20150815162742.jpg (13.11 KB, 下载次数: 6)

QQ截图20150815162742.jpg

作者: sven556677    时间: 2015-8-15 17:11
楼上正解,在一个循环里面全赋值完了,那肯定全是最后一个循环的赋值了。
作者: zhao1991    时间: 2015-8-15 17:17
while语句块中的内容是循环执行的,每循环一次arr数组中的内容就都会变化一次,最后一次循环中arr数组中的内容就被置为“李”,解决办法同上


作者: pengbeilin    时间: 2015-8-15 18:45
循环赋值,怎么可能一次就全部赋值进去啊
作者: 蓬头小道士    时间: 2015-8-15 18:49
看不懂!
作者: small_horse    时间: 2015-8-21 23:09
iamzk 发表于 2015-8-15 16:29
注意while循环中的赋值,是每一个循环都把arr中的所有元素都重新赋值了一遍,结果当然都是最后一个循环中的 ...

谢谢,懂了
作者: liuch111    时间: 2015-8-22 09:45
呵呵                 
作者: 史柯    时间: 2015-8-22 13:12
你这个循环是读到一个集合元素,就赋给数组的每一个元素。
你这样跑完了整个循环,当然每个元素都是最后一个集合元素咯。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2