A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 神之梦 于 2013-5-16 14:35 编辑

由于视频中没有提到,练习中也没有写需求,所以问下有知道的哥们没?
可以根据代码说出需求的也行,反正以我现在的功力比较难,谢谢了!
代码:
  1. class LuckNumber
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 int[] arr = {1,2,3,4,5,6,7,8};

  6.                 int pos = -1;

  7.                 for(int x=0;x<arr.length-1; x++)
  8.                 {
  9.                         for(int y=0; y<3;y++)
  10.                         {
  11.                                 pos++;

  12.                                 if(pos==arr.length)
  13.                                         pos=0;
  14.                                 while(arr[pos]==0)
  15.                                 {
  16.                                         pos++;
  17.                                         if(pos==arr.length)
  18.                                                 pos=0;
  19.                                 }
  20.                         }
  21.                         arr[pos] = 0;
  22.                         //System.out.println(arr[pos]);
  23.                 }

  24.                 for(int x=0; x<arr.length; x++)
  25.                 {
  26.                         if(arr[x]!=0)
  27.                         {
  28.                                 System.out.println(arr[x]);
  29.                                 break;
  30.                         }
  31.                 }
  32.         }
  33. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

12 个回复

正序浏览
神之梦 发表于 2013-5-16 15:05
改了数字试了几次,感觉还比较神奇啊,刚好是循环数组长度减一次后出现那个数字,不管是数组长度增加还是 ...

我只试过改变内循环的次数,只要明白这到题的思路就可以了
回复 使用道具 举报
袁梦希 发表于 2013-5-16 14:35
帖子的分类  点你下面帖子“编辑”   然后有一个帖子的分类  改下就好了

哦啦:victory:
回复 使用道具 举报
杜超 发表于 2013-5-16 14:30
class LuckNumber
{
        /*

改了数字试了几次,感觉还比较神奇啊,刚好是循环数组长度减一次后出现那个数字,不管是数组长度增加还是内循环增加,都不会影响外循环次数得出结果
回复 使用道具 举报
杜超 发表于 2013-5-16 14:30
class LuckNumber
{
        /*

灰常感谢!!
回复 使用道具 举报
神之梦 发表于 2013-5-16 14:25
帖子分类吧,
好啊,有人罩了

帖子的分类  点你下面帖子“编辑”   然后有一个帖子的分类  改下就好了
回复 使用道具 举报
杜超 发表于 2013-5-16 14:30
class LuckNumber
{
        /*

辛苦了哥们
回复 使用道具 举报
杜超 高级黑马 2013-5-16 14:30:51
7#
class LuckNumber
{
        /*
        幸运数字
        思路:数组有8个数,选择其中一个为幸运数字,比如有8个小朋友,每3个小朋友为一组,每到第三个小朋友
        就赋值arr[x]=0,外循环7次后,就剩下一个小朋友没有赋值,这个小朋友便是幸运数字了。
        */
        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<4;y++)//内循环,循环次数不是固定的,自己可以规定
                        {
                                pos++;
                                System.out.println("pos="+pos);
                                if(pos==arr.length)//循环到最后一个时,从0开始继续循环。
                                        pos=0;
                        
                                while(arr[pos]==0)//小朋友arr[x]=0,重复赋值,需跳过这个小朋友,继续下一个。
                                {
                                        pos++;
                                        System.out.println("pos1="+pos);
                                        if(pos==arr.length)
                                                pos=0;
                                }
                        
                        }
                        arr[pos] = 0;//被赋值的小朋友
                        System.out.println("x="+x+"..."+"arr["+pos+"]="+arr[pos]);
                }

                for(int x=0; x<arr.length; x++)
                {
                        if(arr[x]!=0)
                        {
                                System.out.println("arr["+x+"]="+arr[x]);
                                break;
                        }
                }
        }
}

楼主试试,现在还能看懂吗

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1

查看全部评分

回复 使用道具 举报
袁梦希 发表于 2013-5-16 14:24
嘿嘿   是帖子分类还是题分类啊   以后我罩着你

帖子分类吧,
好啊,有人罩了{:soso_e142:}{:soso_e166:}
回复 使用道具 举报
神之梦 发表于 2013-5-16 14:21
不知道选啥分类

嘿嘿   是帖子分类还是题分类啊   以后我罩着你:hug:
回复 使用道具 举报
袁梦希 发表于 2013-5-16 14:11
貌似这不是问题

不知道选啥分类:L
回复 使用道具 举报
貌似这不是问题
回复 使用道具 举报
嗯 我也看到这个了 但是视频里根本没有讲这个   只在chm看到
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马