Java教程

递归

本文主要是介绍递归,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

递归

自己调用自己,

递归结构包括两部分:

  • 递归头:什么时候不能调用自身方法,如果没有头,将陷入死循环
  • 递归体:什么时候需要调用自身方法
package big.com.Cai;
public class Annotation {
    public static void main(String[] args) {
        System.out.println(func(5));
    }
    public static int func(int n){
        if(n==1){
            return 1;
        }
        else
            return n*func(n-1);
        //f(1) 1
        //f(2) 2*f(1)
        //f(3) 3*f(2)
        //f(4) 4*f(3)
    }
}

java都是使用栈机制

简易计算器:

package big.com.Cai;

import java.util.Scanner;

public class Annotation {
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        System.out.println("请输入两位待计算的数:");
        double num1 = s.nextDouble();
        double num2 = s.nextDouble();
        System.out.println("请输入想进行的算法:");
        String c = s.next();
        switch(c){
            case "+":
                System.out.println(num1+"+"+num2+"="+Cal1(num1,num2));
                break;
            case "-":
                System.out.println(num1+"-"+num2+"="+Cal2(num1,num2));
                break;
            case "*":
                System.out.println(num1+"*"+num2+"="+Cal3(num1,num2));
                break;
            case "/":
                System.out.println(num1+"/"+num2+"="+Cal4(num1,num2));
                break;
        }
    }
    public static double Cal1(double num1,double num2){
        return num1+num2;
    }
    public static double Cal2(double num1,double num2){
        return num1-num2;
    }
    public static double Cal3(double num1,double num2){
        return num1*num2;
    }
    public static double Cal4(double num1,double num2){
        return num1/num2;
    }
}
这篇关于递归的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!