黑马程序员技术交流社区
标题:
LuckNumber的三重循环指什么呀
[打印本页]
作者:
潇湘溪语
时间:
2013-11-16 01:34
标题:
LuckNumber的三重循环指什么呀
毕老师第四天视频的PPT最后有一道题是LuckNumber,不知道是不是视频没有上传,官网没有视频,也没有相关讲解。这里有LuckNumber的代码,请高人解惑一下咯!
1、说明一下此代码的原始需求,以及需要实现的功能…
2、此段代码的编程思路?
3、特别是三重循环的含义?
小弟感激不尽啊,夜半求解,睡不着…
class LuckNumber
{
public static void main(String[] args)
{
int[] arr = {1,2,3,4,5,6,7,8};
int pos = -1;
for(int x=0;x<arr.length-1; x++)
{
for(int y=0; y<3;y++)
{
pos++;
if(pos==arr.length)
pos=0;
while(arr[pos]==0)
{
pos++;
if(pos==arr.length)
pos=0;
}
}
arr[pos] = 0;
System.out.println(arr[pos]);
}
for(int x=0; x<arr.length; x++)
{
if(arr[x]!=0)
{
System.out.println(arr[x]);
break;
}
}
}
}
作者:
潇湘溪语
时间:
2013-11-16 19:22
难道没有人回复嘛…
依照进度,我是准备报云7,赶不上就是云8。
作者:
ysunday
时间:
2013-11-16 21:35
有8个元素 例如{1,2,3,4,5,6,7,8} 这八个元素就像圆那样连在一起每隔2个数删除一个数 依次循环 最后剩下一个幸运数,好像是这个题,我找了一个半小时才找到
这是每次循环的结果。
12045678
12045078
02045078
02040078
00040078
00040070
00000070
00000070
第一个循环是控制外层循环,因为有8个数,最后要剩一个数,所以,虚幻7次就可让7个数置为0.第二个循环是每隔两个数删除一个数,也就是把这个数置为0,第三个循环是说,如果遇到0,继续前进,寻找下一个符合条件的数
作者:
潇湘溪语
时间:
2013-11-17 17:46
ysunday 发表于 2013-11-16 21:35
有8个元素 例如{1,2,3,4,5,6,7,8} 这八个元素就像圆那样连在一起每隔2个数删除一个数 依次循环 最 ...
多谢大侠呀,应该是如此,呵呵!
不过这段代码太复杂了,就算明白了原理,让我再写一遍,还是挺有难度的…
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2