您的位置:首页 > 移动开发 > 微信开发

每天一个java小程序

2013-07-08 16:10 330 查看


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;
}

第一个程序就这样了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: