问答详情
源自:3-1 箭头切换

问一下,删除小圆点的逻辑顺序,是先for循环把已on的圆点全删除了,然后再执行上一行,亮起一个小圆点吗

http://img.mukewang.com/567c797f000176b705710312.jpg

问一下,删除小圆点的逻辑顺序,是先for循环把已on的圆点全删除了,然后再执行上一行,亮起一个小圆点吗?

为什么for循环不会把上一行已经亮的点删除了?

提问者:bukuer 2015-12-25 07:08

个回答

  • 从此浪迹天涯了无牵挂
    2016-04-20 03:01:54

    刚刚,想了想也没想太明白。调换顺序跑了下程序有些地方想不通。

    但你那种明显是错误的。你那种算是,先亮新的,然后灭掉旧的。

    有一种情形下明显不对。就是,当显示第五张图片。这时候,如果你点击右箭头。那么,index变成1,如果按照你的写法。调用showButton,第一个亮。这时候循环的话第一第五都是on,从小到达的话,检测完第一直接break。第五个灭不掉的。

    一般写程序都应该先消除上一步的影响再进行下一步

  • bukuer
    2015-12-25 08:49:25

    但是这个执行结果,是该所有的灯泡都灭了吗?

  • 冬子012
    2015-12-25 08:24:38

    根据这个小程序,我觉得是先确定第index个灯泡是亮的,而后在结点数组中,点亮它,最后用一个for循环遍历,如果发现灯泡是亮的,就熄灭,并且跳出循环