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

三、效果展示

相关推荐
多则惑少则明5 分钟前
AI大模型实用(五)Java快速实现智能体整理(LangChain4j构建Java AI智能体)
java·ai大模型
uup9 分钟前
字符串比较的经典坑:== vs equals
java
悟能不能悟12 分钟前
Java 中将 List 中对象的某一列转换为 Set
java·开发语言·list
杰米不放弃19 分钟前
AI大模型应用开发学习-23【20251217】
学习
利刃大大22 分钟前
【SpringBoot】SpringMVC && 请求注解详解 && 响应注解详解 && Lombok
java·spring boot·后端
BBB努力学习程序设计25 分钟前
Java注解(Annotation)深度解析:从元编程到框架设计
java
2501_9167665432 分钟前
【SpringMVC】实现文件上传
java·spring
Jack_abu32 分钟前
详解java中的BlockingQueue阻塞队列
java·juc·阻塞队列·blockingqueue
她说..32 分钟前
Spring AOP场景4——事务管理(源码分析)
java·数据库·spring boot·后端·sql·spring·springboot
爬山算法1 小时前
Netty(17)Netty如何处理大量的并发连接?
java·后端