编程语言
首页 > 编程语言> > Java 递归笔记(留个问号)

Java 递归笔记(留个问号)

作者:互联网

递归

- 定义:

- 结构

- 注意

- 例如

遇到个练习题:
需求:

	写一个计算器,要求实现加减乘除功能,并且能够循环接收新的数据,通过用户交互实现。

要点:

	写4个方法:加减乘除
	利用循环+ switch进行用户交互
	传递需要操作的两个数
	输出结果

答案:

package com.baidu.www;

import java.util.Scanner;

/**
 * Created by joker on 2021/11/23.
 */
public class testNew {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("选择算法");
        int n =0;
        if(sc.hasNextDouble()){
            n = sc.nextInt();
        }

        while (n!=0){
//            System.out.println("请输入a和b的值");
            switch (n){
                case 1:
                    System.out.println("您选择了加法,请输入a和b的值");
                    if(sc.hasNextDouble()){
                        System.out.println(addTest(sc.nextDouble(),sc.nextDouble()));;
                    }
                    System.out.println("请重新选择算法");
                    n = sc.nextInt();
                    break;
                case 2:
                    System.out.println("您选择了减法,请输入a和b的值");
                    if(sc.hasNextDouble()){
                        System.out.println(jianTest(sc.nextDouble(),sc.nextDouble()));
                    }
                    System.out.println("请重新选择算法");
                    n = sc.nextInt();
                    break;
                case 3:
                    System.out.println("您选择了乘法,请输入a和b的值");
                    if(sc.hasNextDouble()){
                        System.out.println(chengTest(sc.nextDouble(),sc.nextDouble()));
                    }
                    System.out.println("请重新选择算法");
                    n = sc.nextInt();
                    break;
                case 4:
                    System.out.println("您选择了除法,请输入a和b的值");
                    if(sc.hasNextDouble()){
                        System.out.println(chuTest(sc.nextDouble(),sc.nextDouble()));
                    }
                    System.out.println("请重新选择算法");
                    n = sc.nextInt();
                default:
                    System.out.println("输入错误,请重新选择算法");
                    n=sc.nextInt();
            }
        }
        sc.close();
    }

    public static double addTest(double a,double b){
        return a+b;
    }

    public static double jianTest(double a,double b){
        return a-b;
    }

    public static double chengTest(double a,double b){
        return a*b;
    }

    public static double chuTest(double a,double b){
        return a/b;
    }
}

说明:

这个题是在一个有关递归的资料中看到的,题是解出来了自己的答案,功能也都实现了,但问题是这题目跟递归貌似没有关系,可能水平有限没有找到使用递归解题的办法。这里留个问号,如果有会的大佬希望指点一下谢谢!

标签:留个,Java,递归,System,println,sc,public,out
来源: https://blog.csdn.net/weixin_43464743/article/details/121746792