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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 马嘉 中级黑马   /  2014-8-18 20:36  /  1712 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

看看我的代码哪里有问题
我给出个小基础题,耶稣被出卖的时候,现场有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);
        }

}

10 个回复

倒序浏览
不好意思,忘了没注释
回复 使用道具 举报
知识浅薄,我没看出来你的主函数在那
回复 使用道具 举报
楼上说得好。知识不够。主函数都找不到了
回复 使用道具 举报
没有主函数                                                                           
回复 使用道具 举报
没主函数啊
中间的判断和循环好像没啥问题?
回复 使用道具 举报
猴子选大王,经典算法
回复 使用道具 举报
男人你得有范 来自手机 中级黑马 2014-8-19 09:56:24
8#
记得要写注释
回复 使用道具 举报
韶山 高级黑马 2014-8-19 10:19:49
9#
从哪里开始。。。
回复 使用道具 举报
nadax 中级黑马 2014-8-19 10:36:37
10#
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 .剩下的呃逆应该会了吧。
回复 使用道具 举报
请问喊道3的退出, 也就是说, 大于等于三的都退出了, 就是说, 最后得剩下俩人, 你那个for循环条件是x<3,也就是说循环三次, y从-1开始加, 加三次是1  这个数不可能得到吧 ?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马