java递归与加减乘除计算器的实现

java递归

递归 :

  • 递归头:什么时候不调用自身(若无,则死循环)
  • 递归体:什么时候调用自身
package com.yuanyu.study;

public class Demo06 {
    public static void main(String[] args) {
        Demo06 demo06=new Demo06();
       System.out.println( demo06.f(5));
    }

    public int f(int n) {
        if (n == 1) {
            return 1;
        } else {
            return n * f(n - 1);
        }
    }
}

image

image

一开始没有考虑到n==1的情况,导致出现,因此使用递归时一定要首先考虑取值为1的情况(递归头)

虽然递归使用起来很简便,但是如果程序深度很大的时候递归占用内存过大(递归的速度也不如迭代),调用过多会影响机器的性能

java编写计算器实现加减乘除

package com.yuanyu.study;

import java.util.Scanner;

public class Demo06 {
    public static void main(String[] args) {
    Scanner scanner=new Scanner(System.in);

    System.out.println("请输入第1个运算数:");
    double a1=scanner.nextDouble();
    System.out.println("请输入一个运算符:");
    String s=scanner.next();
    System.out.println("请输入第2个运算数:");
    double a2=scanner.nextDouble();

    switch (s){
        case "+":
            System.out.println(a1+"+"+a2+"="+(a1+a2));break;
        case "-":
            System.out.println(a1+"-"+a2+"="+(a1-a2));break;
        case "*":
            System.out.println(a1+"*"+a2+"="+(a1*a2));break;
        case "/":
            System.out.println(a1+"/"+a2+"="+(a1/a2));break;
    }
    scanner.close();
    }
}

image

posted @ 2022-01-03 15:27  原语  阅读(88)  评论(0)    收藏  举报