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

三、效果展示

相关推荐
k***921611 分钟前
【C++】继承和多态扩展学习
java·c++·学习
weixin_4407305013 分钟前
java结构语句学习
java·开发语言·学习
JIngJaneIL18 分钟前
基于java+ vue医院管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot
Coder_Boy_23 分钟前
Spring AI 源码大白话解析
java·人工智能·spring
仙俊红23 分钟前
在 Java 中,`==` 和 `equals()` 的区别
java·开发语言·jvm
计算机学姐25 分钟前
基于SpringBoot的高校论坛系统【2026最新】
java·vue.js·spring boot·后端·spring·java-ee·tomcat
予枫的编程笔记28 分钟前
Redis 核心数据结构深度解密:从基础命令到源码架构
java·数据结构·数据库·redis·缓存·架构
JIngJaneIL43 分钟前
基于java + vue校园跑腿便利平台系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot
飞舞花下1 小时前
MAVEN私有仓库配置-Nexus私有仓库
xml·java·maven
毕设源码-赖学姐1 小时前
【开题答辩全过程】以 基于SpringBoot的健身房管理系统的设计与实现为例,包含答辩的问题和答案
java·spring boot·后端