zp_bj02

腾讯公司的一道笔试题,题目大致意思如类注释:

Java代码  
import java.util.ArrayList;  
import java.util.Iterator;  
import java.util.List;  
  
/*
 *  
 * 列表中有100个人,从第1个开始数数,当数到7或者7的倍数时, 
 * 则从列表中将该对象移除,数到末尾后又开始从第一个循环开始数 
 * 直到删除至最后一个人 
 * @author wuhaiming 
 *  
 
*/  
public class CountExit  
{  
  
    /*
     * @param args 
     
*/  
    public static void main(String[] args)  
    {  
        /* 
         * 添加100个人到列表中 
         
*/  
        List<Person> persons = new ArrayList<Person>();  
        for(int i = 0; i < 100; i++)  
        {  
            Person person = new Person();  
            person.setId(i);  
              
            persons.add(person);  
        }  
        print(persons);  
          
        //用于计数,数到7或者7的倍数时则退出  
        int count = 0;  
        //列表中的索引  
        int index = 0;  
        //列表中的所有对象  
        int personSize = persons.size();  
          
        while(personSize > 1)  
        {  
            count++;  
              
            if(count % 7 == 0)  
            {  
                persons.remove(index);  
                personSize--;  
            }  
            else  
            {  
                index++;  
            }  
  
            if(index == persons.size())  
            {  
                index = 0;  
            }  
  
        }  
          
        print(persons);  
    }  
      
    /*
     * 将列表中所有的数据打印出来 
     * @param persons 
     
*/  
    public static void print(List<Person> persons)  
    {  
        for (Iterator<Person> iter = persons.iterator(); iter.hasNext();)  
        {  
            Person per = iter.next();  
            System.out.print(per);  
        }  
        System.out.println();  
    }  
  
}  
  
/*
 *  
 * Person对象,有个唯一的ID标识 
 * @author wuhaiming 
 *  
 
*/  
class Person  
{  
    private int id = 0;  
  
    public int getId()  
    {  
        return id;  
    }  
  
    public void setId(int id)  
    {  
        this.id = id;  
    }  
      
    @Override  
    public String toString()  
    {  
        return id + " ";  
    }  
}  
posted @ 2012-10-24 22:53  Alamps  阅读(206)  评论(0编辑  收藏  举报