递归、简易计算器
递归就是: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;
}
}
结果为:
标签:java,递归,double,System,static,计算器,println,public,out From: https://www.cnblogs.com/zhazhawei906/p/16782706.html