From 9aeea4f16e50b176ac93163466f314b09003a692 Mon Sep 17 00:00:00 2001 From: xuxin <840198532@qq.com> Date: Tue, 17 Mar 2026 13:50:22 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=9B=E9=98=B6day08-=E9=80=92=E5=BD=92?= =?UTF-8?q?=E6=96=B9=E5=BC=8F=E6=B1=82=E9=98=B6=E4=B9=98=E7=9A=84=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/inmind/digui02/Demo09.java | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 javaSE-day08/src/com/inmind/digui02/Demo09.java diff --git a/javaSE-day08/src/com/inmind/digui02/Demo09.java b/javaSE-day08/src/com/inmind/digui02/Demo09.java new file mode 100644 index 0000000..dc638ca --- /dev/null +++ b/javaSE-day08/src/com/inmind/digui02/Demo09.java @@ -0,0 +1,43 @@ +package com.inmind.digui02; +/* +递归求阶乘的代码 + +5! = 5*4*3*2*1 +4! = 4*3*2*1 +3! = 3*2*1 +2! = 2*1 +1! =1 + +阶乘另一种计算方式: +5! = 5*4! +4! = 4*3! +3! = 3*2! +2! = 2*1! +1! =1 + +求阶乘的数学规律是 n! = n*(n-1)! + +核心思想:递归代码如何编写?? + 1.判断当前是否是结束条件,如果是就结束(return) + 2.如果不是结束条件,那么按数学规律或者逻辑规律调用自己 + +n=1就是结束条件 +求阶乘的数学规律是 n! = n*(n-1)! + */ +public class Demo09 { + public static void main(String[] args) { + //计算5的阶乘 + System.out.println(getJieCheng(5)); + } + + //定义求n的阶乘的功能方法 + public static int getJieCheng(int n) { + //1.判断当前是否是结束条件,如果是就结束(return) + if (n == 1) { + return 1; + } + //2.如果不是结束条件,那么按数学规律或者逻辑规律调用自己 + return n*getJieCheng(n-1); + } + +}