笔试题
代码如下:
package cn.edu.test;
import java.util.ArrayList;
import java.util.List;
/**
* 农场有头大母牛,每年生头小母牛,小母牛五年后生小母牛,问20年后农场一共有多少头牛?(用面向对象的思想)
* 采用面向对象的思想:农场是一个对象,农场这个对象里存放着母牛,该对象应该提供一个方法用于统计N年后农场的母牛的总数。
* 母牛也是一个对象,母牛这个对象里有一个年龄属性,该对象有生长的方法以及生育的方法。
*
* @author YCY
*
*/
class Cow {
private int age;
public Cow(int age) {
this.age = age;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
/*
* 每年长大一岁
*/
public void grow() {
this.age++;
}
/*
* 母牛生小牛,如果年龄达到5岁,则可以每年都生一头小母牛,反之,则不能生育,返回null
*/
public Cow generation() {
if (this.age >= 5)
return new Cow(0);
return null;
}
}
class Farm {
// cows集合存放所有母牛对象