永发信息网

Java中利用集合实现约瑟夫问题

答案:2  悬赏:80  手机版
解决时间 2021-03-26 09:08
Java中利用集合实现约瑟夫问题
最佳答案
你的iter=all.iterator();这句后少了iter.next(); 如果不指向一个元素那你的iter.remove(); 就不知道要删除那个元素了,所以获取新迭代器后要用next方法指定删除的是哪个,否则会抛出异常的。

for(int i=0;i<3;i++){
 if(iter.hasNext())
 iter.next();
 else{
 iter=all.iterator();
 iter.next();
 }
 }追问添加这句之后 1被删除了 但是之后又抛出NoSuchElementException异常不知道为什么
全部回答
迭代器的模型实际上是链表,没有首尾相连,这样无法模拟约瑟夫环,remove报错就是因为迭代器的游标走到结尾了追问iter=all.iterator(); 这句不能实现迭代器的遍历从头开始吗追答可以,你代码稍微改改就可以完整实现环了,重置迭代器之后是不能直接remove的,这时候游标还在开头,没指向任何元素
remove时也要判断迭代器的状态追问上面回复已经实现 应该是可以的了
非常感谢!!!!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
问广西晴为何物?直教人晒不干内裤。广西的冬
沈阳红梅味精健身广场什么时候开始建设
红高粱里九儿被余占熬在高粱地里把九儿睡了那
聪明的一休这部电视剧有什么特点
请提出几个名人为目标而奋斗的故事。 越多越
新帕沙特干式双离合器更换离合器片间隙怎么调
宇宙中所有星球都会公转和自转吗,还是只有行
信用卡5000分24期
进口普拉多2700怎么样本人想买很肉吗
耽美漫画学校双手撑地双腿被抬起做运动的是什
一首歌 歌词有:男孩你知道吗?
有没有傻子意识到自己傻的 应该有,因为正常
杭州坤和中心是在什么区
求问三千元买一个二手主机能稳定吃鸡吗
在白菜等十字花科蔬菜的叶上,常常能看到一些
推荐资讯
硬盘录像机密码
江西省铅山县天柱山农村信用联社代办员付为先
美国为什么把星期天排在第一
小番茄外表油油的,怎么洗
领证没举行仪式可否要求退彩礼
晚安除了good night之外,有没有点浪漫的说法
黄王老师早上7:25到校中午12:25离校,黄老师
为什么像车继铃和黎沸挥这类的歌手 没有红
单选题美国独立战争的任务与英国等国最大的不
钢索桥的优点是什么?
藏头诗——我爱徐淑彦
三国演义中诸葛亮五丈原禳星的全部故事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?