黑马程序员技术交流社区
标题:
各位小伙伴,这个程序是干什么的啊,怎么看不懂呢?
[打印本页]
作者:
dark_horse_xu
时间:
2014-9-14 22:13
标题:
各位小伙伴,这个程序是干什么的啊,怎么看不懂呢?
本帖最后由 dark_horse_xu 于 2014-10-2 00:28 编辑
这个是下载的毕老师的课件源代码里的东西,但是视频里没有讲到,求大神给讲解一下
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;
}
}
}
}
作者:
石头-剪刀
时间:
2014-9-15 20:40
本帖最后由 石头-剪刀 于 2014-9-15 20:45 编辑
我说下我的看法:
数组{1,2,3,4,5,6,7,8};
当x=0,数组变成:{1,2,0,4,5,6,7,8};
当x=1,数组变成:{1,2,0,4,5,0,7,8};
当x=2,数组变成:{0,2,0,4,5,0,7,8};
当x=3,数组编程:{0,2,0,4,0,0,7,8};
当x=4,数组编程:{0,0,0,4,0,0,7,8};
当x=5,数组编程:{0,0,0,4,0,0,7,0};
当x=6,数组编程:{0,0,0,0,0,0,7,0};
从上面的这个规律可以看出,每经过2个数字,第三个数字都会变成0,而且如果原数组中有0,则该数字直接跳过,经过6次,最后的得到的是数组中第6个元素的值.
作者:
黄凯旋
时间:
2014-9-15 21:40
看的头晕
作者:
曾小贤OL
时间:
2014-9-15 22:02
进来水一下,表介意。
作者:
李春丽
时间:
2014-9-15 22:58
class Demo//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++)//循环3次。
{
pos++;//指针后移3位
if(pos==arr.length)//循环完,指针回到第一个数组位置。
pos=0;
while(arr[pos]==0)//在数组中找到 0 ,执行循环。
{
pos++;//指针下移,指向 0 后面的数字。
if(pos==arr.length)//循环完,指针回到第一个数组位置。
pos=0;
}
}//每经过3个数查看一次,自动跳过数字 0 。
//System.out.print(arr[pos]);
arr[pos] = 0;//经过三个数字后,后面的数字 置 0 。
}
for(int x=0; x<arr.length; x++)//遍历数组
{
if(arr[x]!=0)//数组中数字不为0时,输出。
{
System.out.println(arr[x]);
break;//输出第一个不为 0 的数字。
}
}
}
}
复制代码
作者:
李春丽
时间:
2014-9-15 22:59
本帖最后由 李春丽 于 2014-9-15 23:00 编辑
当 x = 0 时,结果为 7;
当 x = 1 时,结果为 4;
当 x = 2 时,结果为 4;
当 x = 3 时,结果为 2;
当 x = 4 时,结果为 2;
当 x = 5 时,结果为 1;
当 x = 6 时,结果为 1;
当 x = 7 时,结果为 1;
这就是幸运数字。
作者:
dark_horse_xu
时间:
2014-9-21 15:07
李春丽 发表于 2014-9-15 22:59
当 x = 0 时,结果为 7;
当 x = 1 时,结果为 4;
当 x = 2 时,结果为 4;
是啊,你解释的我基本上看明白了,能否给说一下这个题目的思路怎么回事吗?
作者:
nagi
时间:
2014-9-21 15:52
加一下备注,便于阅读!!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2