
/**
* 测试递归recursion
*/
public class TestRecursion2 {
public static int m = 0;
public static int factorial(int n){
//factorial阶乘
m++;
if (m<n){
return m*factorial(n);
else{
m = 0;
return n;
public static void main(String[
args) {
System.out.println(factorial(10));
System.out.println(10*9*8*7*6*5*4*3*2);
class TestRecursion3{
//计算斐波那契数列 [123581321.....
每一位是前两位的和
public static int abc(int n) {
//计算第n位的值
if (n > 2) {
return abc(n - 1) + abc(n - 2);
else if (n==2) {
return 2;
else return 1;
public static int def(int n){
if (n<2){
return 1;
else if (n<3){
return 2;
int a1 = 1;
int a2 = 2;
int result = a1+a2;
for (int i =4;i<=n;i++){
a1 = a2;
a2 = result;
result = a1+a2;
return result;
public static int ghi(int n){
if (n<2){
return 1;
else if (n<3){
return 2;
int[
arr = new int[n
;
arr[0
= 1;
arr[1
= 2;
for (int i=2;i<n;i++){
arr[i
= arr[i-1
+arr[i-2
;
return arr[n-1
;
public static void main(String[
args) {
int n = new Random().nextInt(20)+1;
System.out.println(n);
System.out.println(abc(n));
System.out.println(def(n));
System.out.println(ghi(n));
【Java|java 递归recursion的使用】
- 程序员|程序员的口味变了!C++首次逆袭JAVA:跻身最受欢迎编程语言TOP3
- Java|华为笔记本双12大促开启 智慧体验让办公学习更高效
- Java|京东第一刀落下:多个副总裁卸任 刘强东嫡系人手接管
- Java|荣耀Magic5Pro很大胆,16GB+5000mAh+100W,香喷喷
- Java|MIUI14把精简当作核心卖点,国产系统急需做减法
- Java|“高薪专业户”的IT互联网行业是否已达到天花板?Java行业薪酬
- javascript|全民淘宝节|千万个淘宝卖家,有千万种答案
- 【微服务】146:商品品牌业务后台Java代码编写
- 【微服务】162:利用Java实现索引库相关的分页、排序和聚合
- Java|闹剧结束了?台积电正式宣布,美媒:张忠谋把关键技术留在了本土
