当前位置: 代码迷 >> Java相关 >> 一路题,
  详细解决方案

一路题,

热度:182   发布时间:2016-04-22 21:39:32.0
一道题,。。。
农场一头小母牛,
每年绳头小母牛,
母牛五岁产母牛,
二十年后多少牛?


有java  写出来。。。
java 一道题

------解决方案--------------------
引用:
农场一头小母牛,
每年绳头小母牛,
母牛五岁产母牛,
二十年后多少牛?


有java  写出来。。。
你要考虑公牛配种问题。。。
------解决方案--------------------
import java.util.ArrayList;

public class TestCow {

/**
 * @param args
 */
public static void main(String[] args) {
ArrayList<Cow> farm = new ArrayList<Cow>();
Cow source = new Cow();
farm.add(source);
// 每年都让农场的所有母牛过一次生日
for (int year = 1; year <= 20; year++) {
// 遍历所有的母牛,让它过生日
for (int i = 0; i < farm.size(); i++) {
Cow mother = farm.get(i);
Cow daughter = mother.birthday();
// 如果生了母牛则加入农场
if (daughter != null) {
farm.add(daughter);
}
}
System.out.println("第" + year + "年,农场规模:" + farm.size());
}
}

}

/**
 * 母牛类
 * 
 * @author mfanw
 * 
 */
class Cow {
/**
 * 刚出生的年龄是0岁
 */
private int age = 0;

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}

/**
 * 母牛过生日,如果超过5岁则生一个母牛
 * 
 * @return
 */
public Cow birthday() {
age++;
if (age >= 5) {
System.out.println("我超过5岁了,生一个母牛!");
return new Cow();
}
return null;
}

}

------解决方案--------------------
递归
public class BornOx {
public static void main(String[] args) {
  相关解决方案