【学习总结|DAY010】Java 流程控制与数据操作练习四:简易计算器

在这段 Java 代码中,我将解析一段简单的 Java 计算器代码,它能够执行基本的数学运算,包括加法、减法、乘法和除法。

一、主要代码

java 复制代码
import java.util.Scanner;

public class demo101Calculator {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入第一个数字:");
        double num1 = scanner.nextDouble();
        System.out.println("请输入第二个数字:");
        double num2 = scanner.nextDouble();
        System.out.println("请输入操作符(+、-、*、/):");
        String op = scanner.next();
        double result = calc(num1,num2,op);
        System.out.println(num1+op+num2+"="+result);
    }

    public static double calc(double num1, double num2, String op) {
        double result = 0;

        switch (op){
            case "+":
                result = num1+num2;
                break;
            case "-":
                result = num1-num2;
                break;
            case "*":
                result = num1*num2;
                break;
            case "/":
                result = num1/num2;
                break;
            default:
                System.out.println("无效操作符,请重新输入!");
                break;
        }

        return result;
    }
}

二、代码解释

java 复制代码
Scanner scanner = new Scanner(System.in);
System.out.println("请输入第一个数字:");
double num1 = scanner.nextDouble();
System.out.println("请输入第二个数字:");
double num2 = scanner.nextDouble();
System.out.println("请输入操作符(+、-、*、/):");
String op = scanner.next();

首先,我们创建了一个 Scanner 对象 scanner,该对象用于从控制台读取用户的输入。接下来,程序依次提示用户输入两个数字和一个操作符:

  1. 输入第一个数字 :使用 scanner.nextDouble() 方法读取用户输入的第一个数字,并将其存储在 num1 变量中。
  2. 输入第二个数字 :同样地,读取第二个数字并存储在 num2 变量中。
  3. 输入操作符 :请求用户输入一个操作符(加、减、乘、除),并将输入的字符存储在 op 变量中。
java 复制代码
double result = calc(num1, num2, op);
System.out.println(num1 + op + num2 + "=" + result);

接下来,我们调用 calc 方法来执行用户选择的操作,并将结果存储在 result 变量中。最后,程序输出计算结果,格式为 num1 op num2 = result

计算逻辑

java 复制代码
public static double calc(double num1, double num2, String op) {
    double result = 0;

    switch (op) {
        case "+":
            result = num1 + num2;
            break;
        case "-":
            result = num1 - num2;
            break;
        case "*":
            result = num1 * num2;
            break;
        case "/":
            result = num1 / num2;
            break;
        default:
            System.out.println("无效操作符,请重新输入!");
            break;
    }

    return result;
}

这一部分是计算的核心逻辑。我们定义了一个名为 calc 的方法,接收两个数字和一个操作符作为参数,并根据操作符执行相应的计算。具体实现如下:

  1. 操作符匹配 :通过 switch 语句,我们判断用户输入的操作符 op
    • 加法+):计算 num1 + num2
    • 减法-):计算 num1 - num2
    • 乘法*):计算 num1 * num2
    • 除法/):计算 num1 / num2
  2. 无效输入处理:如果输入的操作符不在预定义范围内,程序会输出"无效操作符,请重新输入!"的提示。

最后,方法返回计算结果 result

三、效果展示

相关推荐
天河归来16 分钟前
springboot框架redis开启管道批量写入数据
java·spring boot·redis
张先shen25 分钟前
Elasticsearch RESTful API入门:全文搜索实战
java·大数据·elasticsearch·搜索引擎·全文检索·restful
codervibe26 分钟前
如何用 Spring Security 构建无状态权限控制系统(含角色菜单控制)
java·后端
codervibe29 分钟前
项目中如何用策略模式实现多角色登录解耦?(附实战代码)
java·后端
TCChzp31 分钟前
synchronized全链路解析:从字节码到JVM内核的锁实现与升级策略
java·jvm
大葱白菜32 分钟前
🧩 Java 枚举详解:从基础到实战,掌握类型安全与优雅设计
java·程序员
笑衬人心。34 分钟前
在 Mac 上安装 Java 和 IntelliJ IDEA(完整笔记)
java·macos·intellij-idea
SimonKing41 分钟前
颠覆传统IO:零拷贝技术如何重塑Java高性能编程?
java·后端·程序员
sniper_fandc1 小时前
SpringBoot系列—MyBatis(xml使用)
java·spring boot·mybatis
胚芽鞘6811 小时前
查询依赖冲突工具maven Helper
java·数据库·maven