|NO.Z.00035|——————————|BigDataEnd|——|Java&方法封装.V17|——|Java.v17|代码拆分|实现|
一、代码拆分实现
### --- 代码拆分
~~~ ——> 功能类/封装类:将成员方法成员变量放在一个类中
~~~ ——> 测试类:main方法放在一个类中
二、编程代码
### --- 编程代码一:功能类/封装类
/*
编程实现费氏数列的计算并打印 功能类/封装类
*/
public class Fee {
// 自定义成员方法实现费氏数列中第n项数值的计算并返回,n由参数指定
// 1 1 2 3 5 8 13 21 ....
int show(int n) { // int n = 5; int n = 4; int n = 3; int n = 2; int n = 1;
// 1.使用递归的方式进行计算
/*
// 当n=1或者n=2时,结果是1
if(1 == n || 2 == n) {
return 1;
}
// 否则结果是前两项的和
return show(n-1) + show(n-2);
// show(5) => return show(4) + show(3); => 5
// show(4) => return show(3) + show(2); => 3
// show(3) => return show(2) + show(1); => 2
// show(2) => return 1; => 1
// show(1) => return 1; => 1
*/
// 2.使用递推的方式进行计算
int ia = 1;
int ib = 1;
for(int i = 3; i <= n; i++) {
int ic = ia + ib;
ia = ib;
ib = ic;
}
return ib;
}
}
三、编程代码二:测试类
### --- 编程代码二:测试类
/*
编程实现对费氏数列类的测试 测试类
*/
public class FeeTest {
public static void main(String[] args) {
// 1.声明FeeTest类型的引用指向该类型的对象
Fee ft = new Fee();
// 2.调用方法计算并打印
int res = ft.show(55);
System.out.println("计算的结果是:" + res); // 5
}
}
四、打印输出
### --- 编译
~~~ 注:编译的是FeeTest.java文件,
~~~ 注:但是Fee.java和FeeTest.java都生成了.class文件
~~~ 注:编译的时候会在Fee变量下找这个文件,找到后一起变异了
C:\Users\Administrator\Desktop\project>javac FeeTest.java
### --- 打印输出
C:\Users\Administrator\Desktop\project>java FeeTest
计算的结果是:2144908973
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
分类:
bdv002-Java面向对象
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通