每天一个java小程序

 JAVA练习题,能做多少就做多少。http://bbs.csdn.net/topics/110067294


这个是从CSDN看到的。每天一个吧 。

【程序1】 
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 
1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21.... 

这个。。。。。我的程序就没有考虑它的程序分析,直接面向对象构建兔子对象。

======== Main.java ========
package main;

import manager.RabitManager;

public class Main {

public static void main(String[] argvs) {
int rabitNum = 0;
RabitManager manager = new RabitManager();

rabitNum = manager.rabitCnt(8);
System.out.println("rabitNum is " + rabitNum);
}
}

======= RabitManager.java =======
package manager;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import rabit.RabitCouple;

public class RabitManager {
public RabitManager() {
init();
}

private void init() {
rabitList = new ArrayList();
rabitList.add(new RabitCouple(1));
}

public int rabitCnt(int month) {
int current_m = 0;
for (current_m = 1; current_m <= month; current_m++) {
Iterator it = rabitList.iterator();
List newRabit = new ArrayList();
while (it.hasNext()) {
RabitCouple rabit = (RabitCouple) it.next();
if (rabit.bear(current_m)) {
newRabit.add(new RabitCouple(current_m));
}
}
rabitList.addAll(newRabit);
}

return rabitList.size();
}

List rabitList;
}

======== RabitCouple.java =======
package rabit;

public class RabitCouple {
public RabitCouple(int brith_day) {
this.brith_day = brith_day;
}

public boolean bear(int day) {
if ((day - brith_day) >= 2)
return true;
else
return false;
}

private int brith_day;
}



第一个程序就这样了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值