十三 、递归的java实现
任务一、递归初体验:
1.打印hello
2.递归实现循环
源代码:
public class TasteRecursion
{
public static void display() //循环打印hello,Beauty
{
System.out.println("hello,Beauty!");
display();
}
public static void cycle(int n)
{
if(n == 0)
return;
else
{
System.out.println(n);
n--;
cycle(n);
}
}
public static void main(String[] args) {
//TasteRecursion.display();
TasteRecursion.cycle(5);
}
}
实现效果图:
任务二:打印数字三角形
原理图:
源代码(包括一般的循环实现和递归实现):
public class Triangle {
public static void cycleSolve(int n) //一般循环实现
{
int total =0;
for(int i=1;i<=n;i++)
{
total =total+i;
}
System.out.println(total);
}
public static int recursionSolve(int n) //递归实现三角形
{
if(n == 1)
return 1;
else
{
return n + recursionSolve(n-1);
}
}
public static void main(String[] args) {
Triangle.cycleSolve(100);
System.out.println(Triangle.recursionSolve(100));
}
}
任务三:递归实现斐布拉契数列:
原理图:
源代码:
public class Feibo {
public static int FeiboCycle(int n) //用递归实现斐布拉契数列
{
if(n == 1)
return 0;
else if(n == 2)
return 1;
else
{
return FeiboCycle(n-1) + FeiboCycle(n-2);
}
}
public static void main(String[] args)
{
System.out.println(Feibo.FeiboCycle(5));
}
}
实现效果图:
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步