public int dReturn(int n){
if(n==1){
return 1;
}else{
return n*dReturn(n-1);
}
}
public int dReturn(int n){
if(n==1){
return 1;
}else{
return n+dReturn(n-1);
}
}
public int F(int n){
if(n==1){
return 1;
}else if(n==2){
return 1;
}else{
return F(n-1)+F(n-2);
}
}
public static void printAll(int index,int[] arr){
System.out.println(arr[index]);
if(index > 0){
printAll(--index,arr);
}
}
public static void main(String[] args){
int[] arr={1,2,3,4,5};
printAll(arr.lenth-1,arr);
}
public static int cattle(int n){
if(n<=0){
return 0;
}else if(n<=3){
return 1;
}else{
return cattle(n-1)+cattle(n-3);
}
}
public static void main(String[] args){
int n=10;
System.out.println(n+"年后共有"+cattle(n)+"头牛");
}
package test;
import java.util.Scanner;
public class DiGui {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("输入一个整数:");
Scanner scan = new Scanner(System.in);
int x = scan.nextInt();
int result = digui(x);
System.out.println(result);
}
//递归函数
public static int digui(int x){
if(x<=0){
return 1;
}else{
return x*digui(x-1);
}
}
}
/**
* @fileName Test.java
* @description ??????????
* @date 2012-11-25
* @time 17:30
* @author wst
*/
public class Test {
static int multiply(int n) {
int factorial; // ??
if ((n == 1) || (n == 0)) {
factorial = n;
} else {
factorial = n * multiply(n - 1);
}
return factorial;
}
public static void main(String[] args) {
System.out.println(multiply(5));
}
}
n multiply(n) factorial 5 multiply(5) 5*multiply(4) //第一次调用 4 multiply(4) 4*multiply(3) //第二次调用 3 multiply(3) 3*multiply(2) //第三次调用 2 multiply(2) 2*multiply(1) //第四次调用 1 multiply(1) 1 //第五次调用
public class Test extends java.lang.Object{
public Test();
Code:
0: aload_0
1: invokespecial #1; //Method java/lang/Object."<init>":()V
4: return
static int multiply(int);
Code:
0: iload_0
1: iconst_1 //将int类型常量1压入栈
2: if_icmpeq 9 //将两个int类型值进行比较,相等,则跳转到位置9,这就是||的短路功能
5: iload_0 //此处是在第一个条件不成立的情况下执行,从局部变量0中装载int类型值(将n的值压入栈)
6: ifne 14 //比较,如果不等于0则跳转到位置14,注意:由于此处默认和0比较,所以没有必要再将常量0压入栈
9: iload_0 //如果在ifne处没有跳转,则从局部变量0中装载int类型值(将n的值压入栈)
10: istore_1 //将int类型值存入局部变量1中(弹出栈顶的值即局部变量0压入栈的值,再存入局部变量1中)
11: goto 23 //无条件跳转至位置23
14: iload_0 //位置6处的比较,如果不等于0执行此指令,从局部变量0中装载int类型值(将n的值压入栈)
15: iload_0 //从局部变量0中装载int类型值(将n的值压入栈)
16: iconst_1 //将int类型常量1压入栈,常量1是代码中n-1的1
17: isub //执行减法操作,n-1
18: invokestatic #2; //Method multiply:(I)I,调用方法multiply
21: imul //执行乘法操作,n * multiply(n - 1)
22: istore_1 //将int类型值存入局部变量1中,factorial=...
23: iload_1 //从局部变量1中装载int类型值(将factorial的结果压入栈)
24: ireturn //方法返回
public static void main(java.lang.String[]);
Code:
0: getstatic #3; //Field java/lang/System.out:Ljava/io/PrintStream;
3: iconst_5
4: invokestatic #2; //Method multiply:(I)I
7: invokevirtual #4; //Method java/io/PrintStream.println:(I)V
10: return
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有