递归就是调用本身
-
需要有边界条件
-
前阶段
-
返回阶段
-
占用大量内存
递归结构包括两个部分:
-
递归头:什么时候不调用自身方法,如果没有头,将陷入死循环
-
递归体:什么时候需要调用自身方法
低配计算器
import java.lang.String; import java.nio.charset.StandardCharsets; import java.util.Scanner; //计算器 public class Demo08 { public static void main(String[] args) { X(); } public static void X() { Scanner num1=new Scanner(System.in); Scanner sign=new Scanner(System.in); Scanner num2=new Scanner(System.in); System.out.println("请输入式子"); double i1=num1.nextInt(); char s=sign.next().charAt(0); double i2=num2.nextInt(); if(s=='+') { System.out.println(add(i1,i2)); X(); } if(s=='-') { System.out.println(min(i1,i2)); X(); } if(s=='*') { System.out.println(mul(i1,i2)); X(); } if(s=='/') { System.out.println(div(i1,i2)); X(); } num1.close(); num2.close(); sign.close(); } public static double add(double a, double b) { return a+b; } public static double min(double a, double b) { return a-b; } public static double mul(double a, double b) { return a*b; } public static double div(double a, double b) { if(b==0) { System.out.println("错误"); } return a/b; } }