实验三:分别用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定义参数