6.29 Java(递归实现n的阶乘)

【练习】

题目要求:
	递归实现 n 的阶乘
// 递归实现n的阶乘
// 实现阶乘的方法 -- 使用递归
// 要接收一个参数,应该定义参数类型和名字
// 需要n的阶乘,是一个数字,应该有返回值,返回值类型 int

import java.util.Scanner;
public class factorial{
	public static long fac(int n)	{
		if(n == 0){
			return 1;
		}
		else{
			return n * fac(n-1);
		}
	}
	
// 主方法
	public static void main(String[] args) 
	{  
	    System.out.print("请输入您需要求的阶乘 n (0-20整数): ");   // 提示用户输入数字
	    Scanner sc = new Scanner(System.in);                      // 声明对象
	    while(true) {
			int n = sc.nextInt();	                              // 定义n 接受输入的数字
		    if(n>=0 && n<=20) {
			    long ret = fac(n);                                // 调用阶乘方法
			    System.out.println(n+"的阶乘和为: " +ret);         // 输出返回值
			    break;
	    	}
	    	else {
		    	System.out.print("抱歉,请您重新输入0-20以内的整数):  ");

	    	} 
		 }
	    sc.close();
	}
}
		    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值