java中的递归和简易计算器

递归、简易计算器

递归就是:A方法调用A方法,自己调用自己

递归结构包括两个部分:

递归头:什么时候不调用资深方法。如果没有头,将陷入死循环。

递归体:什么时候需要调用自身方法。

例如:计算阶乘:输出给定数字的阶乘,也可以稍加修改为读取用户输入数字的阶乘

package method;
public class Demo03 {
    public static void main(String[] args) {
        System.out.println(tuzi(5));
    }
    public static int tuzi(int n){
        if (n==1){
            return 1;
        }else {
            return n*tuzi(n-1);
        }
    }
}

小练习、计算器

package method;

import java.util.Scanner;

public class Demo04 {
   public static void main(String[] args) {
       Scanner scanner = new Scanner(System.in);
       System.out.println("请输入一个数字:");
       double a=scanner.nextDouble();
       System.out.println("请输入运算符:");
       String ch=scanner.next();
       System.out.println("请输入第二个数字:");
       double b=scanner.nextDouble();
       switch (ch){
           case "+":
               System.out.println("结果为:\n"+a+"+"+b+"="+add(a,b));
               break;
           case "-":
               System.out.println("结果为:\n"+a+"-"+b+"="+sub(a,b));
               break;
           case "*":
               System.out.println("结果为:\n"+a+"*"+b+"="+mul(a,b));
               break;
           case "/":
               System.out.println("结果为:\n"+a+"/"+b+"="+div(a,b));
               break;
           default:
               System.out.println("输入有误!");
      }


       scanner.close();
  }

   //方法
   //加法
   public static double add(double a,double b){
       return a+b;
  }
   //减法
   public static double sub(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){
       return a/b;
  }
}

结果为:

 

 

 

 

posted @ 2022-10-11 21:40  zhazhawei906  阅读(253)  评论(0)    收藏  举报