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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

水竹

  • 黑马币:84

  • 帖子:270

  • 精华:0

zz_job 来自手机 中级黑马 2014-10-9 10:18:03
81#

回帖奖励 +1

楼主大才!谢谢分享
回复 使用道具 举报
好东西,好东西啊,找这个好久了!!!!!!!!
回复 使用道具 举报
感谢楼主分享,自己先收藏着,以后可以有帮助
回复 使用道具 举报

谢谢楼主分享
回复 使用道具 举报
还有么?好像没有了
回复 使用道具 举报
谢谢楼主的分享
回复 使用道具 举报
zz_job 中级黑马 2014-10-10 08:56:25
87#
谢谢你啦~
回复 使用道具 举报

回帖奖励 +1

先学习一下,谢谢楼主分享
回复 使用道具 举报
ebide 中级黑马 2014-10-10 16:52:04
89#

回帖奖励 +1

好帖子,顶了
回复 使用道具 举报

回帖奖励 +1

顶楼主,感谢楼主分享
回复 使用道具 举报

回帖奖励 +1

来领取黑马逼的
回复 使用道具 举报

回帖奖励 +1

看下先,恭喜楼主
回复 使用道具 举报

回帖奖励 +1

感谢楼主分享,先收藏起来
回复 使用道具 举报

请教一下~~为什么要 i--啊?
回复 使用道具 举报
泡沫__opt 发表于 2014-10-11 13:17
请教一下~~为什么要 i--啊?
  1. for (int i = 0; i < circle.size(); i++) {
  2.                                 if (first == kill) {
  3.                                         circle.remove(i);
  4.                                         first = 0;
  5.                                         i--;
  6.                                 }
  7.                                 first++;
  8.                         }
复制代码

i--; 因为circle对象被指向了一个        List<Integer> circle = new LinkedList<Integer>();实例,当你circle.remove(i);一个元素后,相当于当前元素没有取到,所以需要回退一步,LinkedList集合的大小是变动的了。。。
回复 使用道具 举报
Chills719 来自手机 中级黑马 2014-10-11 14:18:45
96#

回帖奖励 +1

感谢楼主!!!
回复 使用道具 举报
十万一千 发表于 2014-10-11 13:55
i--; 因为circle对象被指向了一个        List circle = new LinkedList();实例,当你circle.remov ...

意思在开始数的时候是从第13个人开始?抱歉啊……还是没能太明白……
回复 使用道具 举报
楼主威武!!!
回复 使用道具 举报

回帖奖励 +5

收藏看看
回复 使用道具 举报
泡沫__opt 发表于 2014-10-11 16:00
意思在开始数的时候是从第13个人开始?抱歉啊……还是没能太明白……

要不你还是把log加上看下吧,其实自己刚开始写这个代码的时候,我也只有一个粗略的想法,代码调了n多遍了,才精炼的这么短。我也不是开始就知道需要i--的,只是这句加上了就和我想法一致了。你可以把圈中的人调成10个,每叫到3就kill掉,应该会好分析一点吧
  1. for (int i = 0; i < circle.size(); i++) {
  2.                                 System.out.print(first+"\t");
  3.                                 if (first == kill) {
  4.                                         System.out.print("->"+circle.remove(i) + "被kill掉了!");
  5.                                         first = 0;
  6.                                         i--;
  7.                                         System.out.println("指向集合第" + (i+1) + "个元素");
  8.                                         System.out.println(circle);
  9.                                 }
  10.                                 first++;                       
  11.                         }
复制代码
回复 使用道具 举报 1 0
您需要登录后才可以回帖 登录 | 加入黑马