易截截图软件、单文件、免安装、纯绿色、仅160KB

经典的农夫养牛问题(Java实现)

问题描述:一个农夫养了一头牛,三年后,这头牛每年会生出1头牛,生出来的牛三年后,又可以每年生出一头牛……问农夫10年后有多少头牛?n年呢?(用JAVA实现)
问题解析:
1)在这个问题中,要注意每头牛生产的时间:
     第一头牛三年后才会生出一头新的牛(注意是三年后,而不是第三年),将农夫开始养牛的时间点设为第0年;
     可以设置一个每一头牛的年龄:age(初始值等于0),当age>=3后,每一年生出一头小牛;
2)对牛的计数,设置一个总的计数器count=1(原先有牛1头);
3)这个问题的解决要用到递归:第一头牛三牛后每一年生出一头小牛,然后小牛的行为与它的母亲相同(递归);
4)注意递归程序的结束条件判断:当总时间到达第10年后(当然,也可以自己设定自己需要的时间),递归结束;
下面是我写的Java代码:
public class RaiseCowByRecursive { 
 
 public static void main(String[] args) {
  
  for (int i=0; i<=10; i++) {
   System.out.println("第" + i + "年:" + "农夫所养牛的总数:" + getCows(i) + "头");
  }
  
 }//end main
 
 private static int getCows(int age) { //根据牛的年龄来计算牛的总数
  
  //1)当牛的年龄小于3时,农夫的牛的总数为1
  //2)当牛的年龄大于等于3时(表示三年后),该牛每年产生1头牛,并且加上它所生的牛的总数(递归)
  int countCows = 0;
  if (age < 3) {
   countCows = 1;
  } else {
   countCows = 1;
   for (int i=0; i<=age-3; i++) {
    countCows += getCows(i);
   }
  }//end if-else
  return countCows;  
 }//end getCows
}


相关文档:

JAVA 反射机制

   您查询的关键词是:newinstance object initargs  。如果打开速度慢,可以尝试快速版;如果想保存快照,可以添加到搜藏。
(百度和网页http://bbs.iaiai.com/forum/read.php?tid=2690的作者无关,不对其内容负责。百度快照谨为网络故障时之索引,不代表被搜索网站的即时页面。)
 主题 : java的反射 ......

Java线程使用

关于线程是Java语言中很重要的一块,在程序中有很多地方也使用线程。但是真正考虑如何在适合的场合使用线程呢?采用线程最明显的就是用于异步操作处理。那么为何要使用异步方式呢?
先来介绍下为什么有了进程,还需要线程。
第一:并行实体共享同一个地址空间和所有可用数据的能力。
第二:线程比进程更轻量级,比进程更 ......

Java关键字final、static使用总结

常看很多入门鸟们在final 和static运用上感到迷茫,现总结一下final和static的运用方法,希望对大家有帮助。
(我也是菜鸟)
一、final
根据程序上下文环境,Java关键字final有“无法改变”或者“终态”的含义,它可以修饰非抽象类、非抽象类成员方法和变量。
final类不能被继承,没有子类,final ......

java面试题集

一、Java基础知识
1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。
2.字符串的操作:
  写一个方法,实现字符串的反转,如:输入abc,输出cba
  写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出bbbhhtccc。
3.数据类型之间的转换
  如何将数值型字符转换为数字(Intege ......

java开发框架_ZK使用笔记一

关于ZK这个框架,国内使用的用户应该比较少,国内的资料也相当的少,但是在国外,这个东西已经很多人在使用了,以前也没怎么接触过,最近开始使用ZK来做开发,发现这东西在使用的时候,还蛮有意思的,所以准备记下使用日志,留给以后回顾和大家分享
首先需要知道ZK是一个什么东西,这个框架是我国台湾的朋友开发的,他是一个事件驱动(e ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号