实验三:分别用for、while和do-while循环语句以及递归方法计算n!,并输出算式

1.使用for循环语句求N的阶乘

 1 package For;
 2 
 3 import java.util.Scanner;
 4 public class FORXH {
 5 
 6     public static void main(String[] args) {
 7         int n,i,sum=1;
 8         System.out.print("请输入n:");
 9         Scanner in=new Scanner(System.in);
10         n=in.nextInt();
11         for(i=1;i<=n;i++)
12         {sum=sum*i;}
13         System.out.println(sum);
14 
15     }
16 
17 }

2.使用while循环语句求N的阶乘

 1 package While;
 2 
 3 import java.util.Scanner;
 4 
 5 public class WHLIE {
 6 
 7     public static void main(String[] args) {
 8     
 9         int n,i=1,sum=1;
10         System.out.print("请输入n:");
11         Scanner in=new Scanner(System.in);
12         n=in.nextInt();
13         while(i<+n)
14         {
15             sum=sum*i;
16             i++;
17         }
18         System.out.println(sum);
19     }
20 
21 }

3.使用do-while循环语句求N的阶乘

 1 package Dowhile;
 2 
 3 import java.util.Scanner;
 4 
 5 public class DOWHILE {
 6 
 7     public static void main(String[] args) {
 8         // TODO Auto-generated method stub
 9 
10         int n,i=1,sum=1;
11         System.out.print("请输入n:");
12         Scanner in=new Scanner(System.in);
13         n=in.nextInt();
14         do {
15             sum=sum*i;
16             i++;
17         }
18         while(i<=n);
19             System.out.println(sum);
20     }
21 
22 }

4.使用递归方法求N的阶乘

 1 package Digui;
 2 
 3 import java.util.Scanner;
 4 
 5 public class DIGUI {
 6 
 7     public static void main(String[] args) {
 8         int n;
 9         System.out.print("请输入n:");
10         Scanner in=new Scanner(System.in);
11         n=in.nextInt();
12         fun(n);
13         System.out.println(fun(n));
14     }
15 public static int fun(int n) {
16     if(n==1||n==0) return 1;
17     else return n*fun(n-1); 
18     
19 }
20 }

实验心得:

学会了使用java.util.Scanne类的Scanner.in语句输入参数

int类型定义的参数有长度限制,如需计算较大的数,可以使用long定义参数

posted @ 2019-03-23 17:15  EvilTime  阅读(2345)  评论(1编辑  收藏  举报