1. 程式人生 > >Java叠代器問題 有100個人圍成一個圈從1開始報數,報到14的這個人就要退出,然後其他人重新開始,從1報數,到14退出問:最後剩下的是100人中的第幾個人 用listIterator叠代元素,並對集合進行刪除操作

Java叠代器問題 有100個人圍成一個圈從1開始報數,報到14的這個人就要退出,然後其他人重新開始,從1報數,到14退出問:最後剩下的是100人中的第幾個人 用listIterator叠代元素,並對集合進行刪除操作

arraylist ger new println 集合 arr size 計數 add

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)); } }

Java叠代器問題 有100個人圍成一個圈從1開始報數,報到14的這個人就要退出,然後其他人重新開始,從1報數,到14退出問:最後剩下的是100人中的第幾個人 用listIterator叠代元素,並對集合進行刪除操作