• Java迭代器问题 有100个人围成一个圈从1开始报数,报到14的这个人就要退出,然后其他人重新开始,从1报数,到14退出问:最后剩下的是100人中的第几个人 用listIterator迭代元素,并对集合进行删除操作


    package com.swift;
    
    import java.util.ArrayList;
    import java.util.List;
    import java.util.ListIterator;
    
    public class ListIterator_baoshu14 {
    
        public static void main(String[] args) {
            /*
             * 第9题: 有100个人围成一个圈,从1开始报数,报到14的这个人就要退出。
             * 然后其他人重新开始,从1报数,到14退出。问:最后剩下的是100人中的第几个人? 分析: * 应用List集合,将100个数放入其中 *
             * 建一个int类型标识,当为14时清零 当List集合剩余最后一个不再比较 应用listIterator迭代元素,并对集合进行删除操作
             */
    
            List<Integer> list = new ArrayList<Integer>();
            for (int i = 1; i <= 100; i++) {
                list.add(i);
            }
    
            int num;
            int flag = 0;//放到最外层循环外面,因为人数小于14人需要下一轮共同计数
            while (list.size() > 1) {// >1表示最后2个人报数到14最终剩1人 但要是>0只有1个人报数14后去除列表为空了会出异常
                ListIterator<Integer> it = list.listIterator();
                while (it.hasNext()) {
                    num = (int) it.next();
                    flag++;
                    if (flag == 14) {
                        it.remove();
                        flag = 0;
                    }
                }
                System.out.println(list.size());
            }
            
            System.out.println(list.get(0));
    
        }
    
    }
  • 相关阅读:
    python的编码判断_unicode_gbk/gb2312_utf8(附函数)
    stat文件状态信息结构体
    内核配置中 ramdisk 大小修改
    mount命令详解
    dirent和DIR 结构体 表示文件夹中目录内容信息
    nandwrite 参数
    mke2fs 制作ext2文件系统image
    ext2文件系统错误
    照度/感光度(Lux)
    摄像机的几个重要的技术指标
  • 原文地址:https://www.cnblogs.com/qingyundian/p/8289325.html
Copyright © 2020-2023  润新知