黑马程序员技术交流社区

标题: 一道基础测试题 [打印本页]

作者: 马嘉    时间: 2014-8-18 20:36
标题: 一道基础测试题
看看我的代码哪里有问题
我给出个小基础题,耶稣被出卖的时候,现场有15个人,让15个人一次报数,1、2、3、1、2、3,循环,报道三的退出,最后剩下的就是出卖耶稣的人,这个应该怎么写
public  static void show_1(String a) {
                // TODO Auto-generated method stub
                ArrayList<String> str=new ArrayList<String>();
                String[] b=a.split(",");
                for(int x=0;x<b.length;x++)
                        str.add(b[x]);
                System.out.println(str);
        //        System.out.println(str);
                while(str.size()!=1)
                {
                        int y=-1;
                        for(int x=0;x<3;x++)
                        {
                                y++;

                                if(y==str.size()){
                                        y=0;
                                }
                        }
                        str.remove(y);
                        y--;
                }
                System.out.println(str);
        }

}

作者: 马嘉    时间: 2014-8-18 20:47
不好意思,忘了没注释
作者: 忆梦追风    时间: 2014-8-18 20:57
知识浅薄,我没看出来你的主函数在那
作者: 默默丶    时间: 2014-8-18 21:02
楼上说得好。知识不够。主函数都找不到了
作者: 李章敏    时间: 2014-8-18 22:28
没有主函数                                                                           
作者: 柠萌不    时间: 2014-8-18 23:42
没主函数啊
中间的判断和循环好像没啥问题?
作者: 张亚军    时间: 2014-8-19 09:42
猴子选大王,经典算法
作者: 男人你得有范    时间: 2014-8-19 09:56
记得要写注释
作者: 韶山    时间: 2014-8-19 10:19
从哪里开始。。。
作者: nadax    时间: 2014-8-19 10:36
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15---》第一轮后:1 2 4 5 7 8 10 11 13 15----》第二轮后:1 2 5 7 10 11 15---》第三轮 1 2 7  10 15-->第四轮:1 2 10----》最后一轮 1  2  。。。你发现规律没 最后只剩下 1   2 .剩下的呃逆应该会了吧。

作者: 王凯路路    时间: 2014-8-19 13:09
请问喊道3的退出, 也就是说, 大于等于三的都退出了, 就是说, 最后得剩下俩人, 你那个for循环条件是x<3,也就是说循环三次, y从-1开始加, 加三次是1  这个数不可能得到吧 ?




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2