在java递归算法有一道经典题目,求n的阶乘,这是每个学习递归算法的小伙伴必经的,下面我们就来看看它该怎么实现。

示例1:

import java.util.Scanner;
public class Jiecheng
{
public static int jiecheng(int n)
{
//int k=1;
//while(n!=0) {
//    k*=n;
//    n--;
//}
//return k;
if (n == 1)
{
return n = 1;
}
else
{
return n * jiecheng(n - 1);
}
}
public static void main(String[] args)
{
Scanner sca = new Scanner(System.in);
System.out.println("请输入一个正整数:");
int n = sca.nextInt();
System.out.println(n + "的阶乘是: " + jiecheng(n));
}
}

示例2:

import java.util.Scanner;
public class DiGui
{
public static void main(String[] args)
{
//使用递归算法计算n的阶乘
Scanner intput = new Scanner(System.in);
System.out.println("请输入n的值:");
int n = intput.nextInt();
int i = getJ(n);
System.out.println(i);
}
public static int getJ(int n)
{
if (n == 0)
{
return 1;
}
else
{
return n * getJ(n - 1);
}
}
}