原题:
农场一头小母牛
每年生头小母牛
母牛四岁产母牛
二十年上多少牛
首先定义两个对象,母牛和农场
public class Cow { public static final int new_age = 4;//Till this age,the cow can birth new cow private int age; public Cow(int age){ this.age = age; } /* * birth the new cow */ public Cow birth(){ if(age >= new_age ){ return new Cow(0); }else{ return null; } } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
import java.util.ArrayList; import java.util.List; public class Farm { public static List<Cow> cowList = new ArrayList<Cow>(); /* * init the farm,had one cow */ public Farm(){ cowList.add(new Cow(0)); } /* * add cow to cowList */ public void addCow(Cow c){ if(c != null){ cowList.add(c); } } /* * get total cow numbers till the year */ public int productionTillYear(int year){ for(int i =1; i<=year; i++){ System.out.println("第"+ i+"年:"); for(int j=0;j<cowList.size();j++){ Cow existCow = cowList.get(j); cowList.get(j).setAge(existCow.getAge()+1); Cow newCow = existCow.birth(); addCow(newCow); } System.out.println("所有的牛有"+ cowList.size()+"只。"); } return cowList.size(); } }
public class Test { /** * @param args */ public static void main(String[] args) { Farm farm = new Farm(); int totalNum = farm.productionTillYear(20); System.out.println("一共有"+totalNum+"头"); } }
运行结果:
写道
第1年:
所有的牛有1只。
第2年:
所有的牛有1只。
第3年:
所有的牛有1只。
第4年:
所有的牛有2只。
第5年:
所有的牛有3只。
第6年:
所有的牛有4只。
第7年:
所有的牛有6只。
第8年:
所有的牛有9只。
第9年:
所有的牛有13只。
第10年:
所有的牛有19只。
第11年:
所有的牛有28只。
第12年:
所有的牛有41只。
第13年:
所有的牛有60只。
第14年:
所有的牛有88只。
第15年:
所有的牛有129只。
第16年:
所有的牛有189只。
第17年:
所有的牛有277只。
第18年:
所有的牛有406只。
第19年:
所有的牛有595只。
第20年:
所有的牛有872只。
一共有872头
所有的牛有1只。
第2年:
所有的牛有1只。
第3年:
所有的牛有1只。
第4年:
所有的牛有2只。
第5年:
所有的牛有3只。
第6年:
所有的牛有4只。
第7年:
所有的牛有6只。
第8年:
所有的牛有9只。
第9年:
所有的牛有13只。
第10年:
所有的牛有19只。
第11年:
所有的牛有28只。
第12年:
所有的牛有41只。
第13年:
所有的牛有60只。
第14年:
所有的牛有88只。
第15年:
所有的牛有129只。
第16年:
所有的牛有189只。
第17年:
所有的牛有277只。
第18年:
所有的牛有406只。
第19年:
所有的牛有595只。
第20年:
所有的牛有872只。
一共有872头
相关推荐
matlab开发-面向对象的程序示例。书中的例子:Matlab和Simulink,3e:用户指南),作者:Bogumila和Zbigniew Mrozek
Java面向对象程序设计 例子源代码 耿祥义 张跃平 清华大学出版社
2. 设计一个含有多个菜单项的菜单演示程序,然后再为这些菜单项设计相应的功能。 要求: (1)程序显示下列菜单选项: 1. 解一元二次方程 2. 石头、剪子、布游戏 3. 退出程序 选择1-3: (2)用户选择1,则求解一元...
(大学)软件工程uml的开发文档-图书管理系统举例,其中包括分析与设计案例ppt、测试分析报告、测试计划、个人总结报告、...我没有积分下csdn里的文档,所以只能把学校里的例子文档发出来,给大家参考顺便赚2个积分。
本章将通过一个实际的例子,介绍C++如何兼容面向过程设计、它的基本程序结构及其在函数设计上与C语言的异同。然后给出使用函数重载的实例,以便为从结构引入类的知识打下基础。最后介绍C++语言的动态内存分配、引用...
php初级编程的例子,面向对象的封装很适合初学者的,希望对大家有所帮助
主要运用了objectC语言来写了一个面向对象编程的简单例子,可以下载来研究下,精益IOS就是这样练成的
Python基础教程详解 【第49课】 面向对象(3) 面向对象是比较复杂的概念,初学很难理解。我曾经对人夸张地说,面向对象是颠覆你 编程三观的东西,得花上不少时间才能搞清楚。我自己当年初学Java的时候,也是折腾 了...
php简单面向对象的网站例子,适合刚接触面向对象的童鞋
自己整理的Python面向对象编程速记速学小例子和源码,只有6页,可以迅速学会Python面向对象编程。原书已加入书签方便阅读。介绍了类的声明,实例化,绑定属性,构造函数,数据封装,继承,多态,实例属性和类属性。...
《Python 3面向对象编程》通过Python 的数据结构、语法、设计模式,从简单到复杂,从初级到高级,一步步通过例子来展示了Python 中面向对象的概念和原则。, 《Python 3面向对象编程》不是Python 的入门书籍,适合...
一个理解面向对象很好的例子 在学校老师就是用这个例子进行讲解,我认为还可以就传上来了,大家看看吧 好东西要一起分享
可以能够更好的学习C#。c# 例子~面向对象
《面向对象分析与设计(第3版)》通过大量例子说明了基本概念,解释了方法,并展示了在不同领域的成功应用。全书分为理论和应用两部分。理论部分深刻剖析了面向对象分析与设计(OOAD)的概念和方法。应用部分连续列出了5...
《面向对象软件工程》 作者:Stephen.R.Schach 学校:(美)范德比尔特大学 书名原名:Objected-Oriented Software Engineering 目录: 第一部分 面向对象软件工程简介 第一章 面向对象软件工程的范畴 第二章 ...
自己做的c++的练习 为了方便大家 关于c++面向对象方面的
【C++ 语言】面向对象 ( 类定义 | 限制头文件引用次数 | 构造方法 | 析构方法 ) : https://hanshuliang.blog.csdn.net/article/details/99609557 【C++ 语言】面向对象 ( 成员函数 | 常量函数 | 友元函数 | 友元类 ...
s面向对象例子 勇者传说 zip
大学城体育信息管理系统,有文档有源码,内有数据库文件和数据库备份还原方案
delphi面向对象的例子程序,内置源码