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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

需求:有100个人围成一个圈,从1开始报数,报到14的这个人就要退出。 然后其他人重新开始,从1报数,到14退出。
   问:最后剩下的是100人中的第几个人?
以下为代码实现:
关键代码请同学们回复后观看

// 创建集合存储100个人
ArrayList<Integer> al = new ArrayList<Integer>();
//循环赋值      
    for (int i = 1; i < 101; i++) {
                                al.add(i);
                    }
//定义一个计数变量
    int count = 0,;

游客,如果您要查看本帖隐藏内容请回复

33 个回复

倒序浏览
真的有这么牛???
回复 使用道具 举报
刚刚下雨了 来自手机 中级黑马 2015-7-29 23:57:43
藤椅
强势围观 ^_^
回复 使用道具 举报
天人之珠 来自手机 中级黑马 2015-7-29 23:57:54
板凳
顶顶顶顶
回复 使用道具 举报
我想说关键代码我写成方法了,然后list没改过来,如果不调用方法的话需要把list改成al哦
回复 使用道具 举报
大神啊哈
回复 使用道具 举报
牛逼啊,楼主
回复 使用道具 举报
看看楼主写的咋样
回复 使用道具 举报
兄弟啊。你好厉害锕
回复 使用道具 举报
围观围观
回复 使用道具 举报
看起来很赞
回复 使用道具 举报
Hider 中级黑马 2015-7-31 00:49:43
12#
你表达的是不是有问题。。。如果顺序不变只是把第14个人抽出来的话,那第一次抽14号,然后15号往前挪第二次就抽的15号,1~13号在人数大于等于13的时候是完全不会变的,等于说只要算1~13号里面报数然后抽人就可以了?
回复 使用道具 举报 1 0
我想说我连题目都没看懂
回复 使用道具 举报
好尴尬还得回复
回复 使用道具 举报
看了下题,感觉思路应该是这样的:
100个对象,全部存放在ArrayList集合,定义一个count累加,加到14就把当前位置的对象移除。count清零再累加。然后定义一个index用于记录当前的下标,下标达到ArrayList.size()时就将index重置为0.

最后留下的对象就是答案
回复 使用道具 举报
感觉这道理出的有歧义啊,“其他人重新开始”,其他人包不包括前13个?
回复 使用道具 举报
顶顶顶顶
回复 使用道具 举报
没看懂题目的意思。。。。
回复 使用道具 举报
ljd 中级黑马 2016-5-29 20:28:02
19#
这个还真不会,开开眼界
回复 使用道具 举报
GAREN 中级黑马 2016-5-29 21:18:24
20#
看看隐藏部分是啥
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马