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

三、效果展示

相关推荐
lang201509281 分钟前
Apache Maven 项目的开发指南
java·maven·apache
笨鸟笃行8 分钟前
百日挑战-单词篇(第九天)
学习
rengang669 分钟前
134-Spring AI Alibaba OceanBase 向量数据库示例
java·人工智能·spring·oceanbase·rag·spring ai·ai应用编程
靠沿1 小时前
JavaSE知识分享——继承(下)
java·开发语言
Catfood_Eason1 小时前
CMPP3020作业2
java·开发语言
pop_xiaoli1 小时前
SQLite3语句以及FMDB数据存储初步学习
学习·ios·sqlite·objective-c·cocoa
CryptoRzz1 小时前
印度实时股票数据源接口对接文档-IPO新股、k线数据
java·开发语言·数据库·区块链
宸津-代码粉碎机1 小时前
Java内部类内存泄露深度解析:原理、场景与根治方案(附GC引用链分析)
java·开发语言·jvm·人工智能·python
東雪木2 小时前
Java基础语言进阶学习——1,JVM内存模型(堆、栈、方法区)
java·jvm·学习
毕设源码-郭学长2 小时前
【开题答辩全过程】以 常二社区线上养老院管理系统为例,包含答辩的问题和答案
java·eclipse