【学习总结|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

三、效果展示

相关推荐
todoitbo1 分钟前
基于 DevUI MateChat 搭建前端编程学习智能助手:从痛点到解决方案
前端·学习·ai·状态模式·devui·matechat
前端世界32 分钟前
float 还是 double?用储罐体积计算带你看懂 C 语言浮点数的真实世界坑
java·c语言·开发语言
豐儀麟阁贵35 分钟前
8.5在方法中抛出异常
java·开发语言·前端·算法
Bro_cat1 小时前
Java基础
java·开发语言·面试
一起养小猫1 小时前
《Java数据结构与算法》第三篇(下)队列全解析:从基础概念到高级应用
java·开发语言·数据结构
vx_vxbs661 小时前
【SSM电动车智能充电服务平台】(免费领源码+演示录像)|可做计算机毕设Java、Python、PHP、小程序APP、C#、爬虫大数据、单片机、文案
java·spring boot·mysql·spring cloud·小程序·php·idea
叹隙中驹石中火梦中身2 小时前
解耦神器Event和EventListener
java
Boop_wu2 小时前
[Java EE] 多线程进阶(JUC)(2)
java·jvm·算法
小坏讲微服务2 小时前
SpringCloud整合Scala实现MybatisPlus实现业务增删改查
java·spring·spring cloud·scala·mybatis plus
N***p3652 小时前
五大消息模型介绍(RabbitMQ 详细注释版)
java·rabbitmq·java-rabbitmq