用递归实现控制台输入数字的阶乘

晚上群里聊天,有学生在群里问如何用递归实现控制台输入数字的阶乘,这分两步:

1.如何读取控制台输入的数字,我用了6.0后的Scnner类的nextInt()方法;

2.如何实现阶乘,用了递归实现,如果是1直接返回 1,如果不为1则   return x*jiecheng(x-1);

   当然这个只是实现,后面可以加上很多判断的,我偷懒了,功能实现就算了

 

package test.hbinjie;

import java.util.Scanner;

public class DiguiTest {

 public static void main(String[] args) {
  
  Scanner sc = new Scanner(System.in);
  System.out.print("请输入一个数字:");

  int s=sc.nextInt();
  System.out.print(jiecheng(s));
 }
 public static long jiecheng(int x){
  if(x==1){
   return 1;
   }
  else{
   return x*jiecheng(x-1);
   
   }

 }
}

你可能感兴趣的:(java)