源代码:
package jiecheng;
import java.util.Scanner;
public class JieCheng {
public static void main(String[] args) {
Scanner shuru=new Scanner(System.in);
System.out.print("请输入n的值:");
int n=shuru.nextInt();
int sum=1;
for(int i=1;i<=n;i++)
{
sum=sum*i;
}
System.out.print("利用for循环实现n! ");
System.out.println(n+"!="+sum);
System.out.print("利用while实现n! ");
int i=sum=1; while(i<n)
{ i++;
sum*=i;
}
System.out.println(n+"!="+sum);
System.out.print("利用do-while实现n! ");
do
{ sum*=i;
i++;
}while(i<n);
System.out.println(n+"!="+sum);
System.out.print("利用递归方法实现n! ");
System.out.println(n+"!="+Digui(n));
}
public static int Digui(int n){
if(n==0)
return 1;
else
return n*Digui(n-1);
}
}
输出结果:
请输入n的值:20
利用for循环实现n! 20!=-2102132736
利用while实现n! 20!=-2102132736
利用do-while实现n! 20!=907018240
利用递归方法实现n! 20!=-2102132736
心得:
1.了解了如何从键盘上输入一个数来计算n!的实现。
2.了解并掌握了循环结构for,do-shile,while三种语句的用法。
3.了解了递归方法的用法。