| 本帖最后由 周文斌 于 2013-9-15 14:26 编辑 
 结果会因各人对需求边界的理解而有少许出入。复制代码import java.util.ArrayList;
class Muniu
{
        private int age=1;
        
        Muniu(){};
        Muniu( int age )
        {
                this.age=age;
        };
        
        public void setAge( int age )
        {
                this.age =age;
        }
        
        public int getAge()
        {
                return this.age;
        }
}
public class interviewMuniu {
        public static void main(String[] args)
        {
                //母牛群Munius,将所有母牛加入到Munius,20年后调用size()查看长度可得母牛数
                ArrayList<Muniu> Munius = new ArrayList<Muniu>();
                
                //加入老母牛age>=5即可
                Munius.add(new Muniu(6));
                
                //每过一年,所有母牛加一岁,然后判断是否生仔
                for(int i=1 ; i<=20 ; i++)
                {
                        //当年牛群中母牛数量
                        int MuniusLength = Munius.size();
                        
                        //取得每一只母牛,进行长岁,和是否生仔
                        //注意:此处不可直接j<Munius.size(),当前循环的次数应是固定的,而Munius.size()岁新生母牛增加而增长,会导致新生母牛加入了也加入了本年计算。
                        //当然本需求下也有办法可以直接j<Munius.size(),将Muniu类中age初始化为0即可。
                        for( int j=0 ; j<MuniusLength ; j++ )
                        {
                                
                                Muniu temp = (Muniu)Munius.get(j);
                                
                                temp.setAge(temp.getAge()+1);
                                if(temp.getAge() >= 5)
                                {
                                        //成功生仔,加入牛群
                                        Munius.add(new Muniu());
                                }
                        }
                        System.out.println("第"+i+"年过去,现在有母牛"+Munius.size()+"头");
                        /*
                        for(int j=1 ; j<=Munius.size() ; j++){
                                System.out.println("NO。"+j+"号母牛,今年"+Munius.get(j-1).getAge()+"岁");
                        }
                        */
                }
                
                System.out.println("20年过去,总共有母牛:"+Munius.size());
        }
}
 |