C# 实现简单的计算器(控制台版)

简介: 本案例实现一个控制台计算器,支持加减乘除四则运算,具备输入验证功能,可捕获无效输入与除零异常,确保程序稳定运行。

计算器支持加减乘除四则运算,处理输入验证和除零异常。

案例:控制台计算器

public class CalculatorApp
{
    // 计算方法
    public static decimal Calculate(decimal num1, decimal num2, string operation)
    {
        switch (operation)
        {
            case "+":
                return num1 + num2;
            case "-":
                return num1 - num2;
            case "*":
                return num1 * num2;
            case "/":
                if (num2 == 0)
                {
                    throw new DivideByZeroException("除数不能为0!");
                }
                return num1 / num2;
            default:
                throw new ArgumentException("无效的运算符!支持:+、-、*、/");
        }
    }
    public static void Main(string[] args)
    {
        Console.WriteLine("=== 简易计算器 ===");
        try
        {
            // 输入第一个数字
            Console.Write("请输入第一个数字:");
            string num1Str = Console.ReadLine()?.Trim() ?? "";
            if (!decimal.TryParse(num1Str, out decimal num1))
            {
                Console.WriteLine("输入的不是有效数字!");
                return;
            }
            // 输入运算符
            Console.Write("请输入运算符(+、-、*、/):");
            string operation = Console.ReadLine()?.Trim() ?? "";
            // 输入第二个数字
            Console.Write("请输入第二个数字:");
            string num2Str = Console.ReadLine()?.Trim() ?? "";
            if (!decimal.TryParse(num2Str, out decimal num2))
            {
                Console.WriteLine("输入的不是有效数字!");
                return;
            }
            // 计算并输出结果
            decimal result = Calculate(num1, num2, operation);
            Console.WriteLine($"{num1} {operation} {num2} = {result}");
        }
        catch (Exception ex)
        {
            Console.WriteLine($"计算失败:{ex.Message}");
        }
    }
}

运行效果:

=== 简易计算器 ===
请输入第一个数字:10
请输入运算符(+、-、*、/):*
请输入第二个数字:5.5
10 * 5.5 = 55.0
相关文章
|
2月前
|
弹性计算 负载均衡 数据库
阿里云服务器最便宜多少钱一年?38元轻量和99元ECS机型对比,哪台更优惠?
阿里云最便宜云服务器:新用户38元/年轻量应用服务器(2核2G/200M峰值带宽/40G ESSD),老用户99元/年ECS经济型e实例(2核2G/3M固定带宽/40G ESSD Entry)。配置相近,轻量限新用户,ECS新老用户皆可,续费同价。单机应用首选轻量,需高可用架构选ECS。
909 2
|
搜索推荐 流计算 索引
图文检索
图文检索简介
图文检索
|
7月前
|
开发者 Python
Python神技:用列表推导式让你的代码更优雅
Python神技:用列表推导式让你的代码更优雅
625 99
|
4月前
|
SQL 前端开发 数据处理
Python 项目实战入门:从 0 到 1 搭建简易学生信息管理系统
本文以简易学生信息管理系统为例,详解Python Web项目从需求分析、技术选型到编码部署的完整流程。采用Flask+SQLite+Bootstrap轻量栈,实现增删改查与Excel导出,助初学者快速掌握开发逻辑与实战技能。
|
存储 运维 监控
深度体验阿里云系统控制台:SysOM 让 Linux 服务器监控变得如此简单
作为一名经历过无数个凌晨三点被服务器报警电话惊醒的运维工程师,我对监控工具有着近乎苛刻的要求。记得去年那次大型活动,我们的主站流量暴增,服务器内存莫名其妙地飙升到90%以上,却找不到原因。如果当时有一款像阿里云 SysOM 这样直观的监控工具,也许我就不用熬通宵排查问题了。今天,我想分享一下我使用 SysOM 的亲身体验,特别是它那令人印象深刻的内存诊断功能。
594 1
|
人工智能 Cloud Native 大数据
云+AI开启算力新时代,共建开源开放生态赴未来 | 2024龙蜥大会主论坛
本次分享的主题是云 + AI开启算力新时代,共建开源开放生态赴未来 | 2024龙蜥大会主论坛,由阿里巴巴集团合伙人、阿里云基础设施事业部总经理蒋江伟分享。
346 6
|
关系型数据库 数据管理 应用服务中间件
【赵渝强老师】Docker的数据持久化
在生产环境中使用Docker时,为了实现数据的持久化和共享,可以通过数据卷(Data Volumes)和数据卷容器(Data Volume Containers)两种方式来管理数据。数据卷是一个独立于容器的挂载目录,可以跨多个容器共享和重用。数据卷容器则是一种特殊容器,用于维护数据卷,便于数据迁移和共享。本文通过示例详细介绍了这两种方法的使用步骤。
307 1
|
网络协议 Linux
linux学习之套接字通信
Linux中的套接字通信是网络编程的核心,允许多个进程通过网络交换数据。套接字提供跨网络通信能力,涵盖本地进程间通信及远程通信。主要基于TCP和UDP两种模型:TCP面向连接且可靠,适用于文件传输等高可靠性需求;UDP无连接且速度快,适合实时音视频通信等低延迟场景。通过创建、绑定、监听及读写操作,可以在Linux环境下轻松实现这两种通信模型。
434 1
|
JavaScript 前端开发 Java
JSP基本语法
这篇文章详细介绍了JSP的基本语法,包括脚本标识、注释、指令标识和动作标识的使用方法和语法格式。
JSP基本语法
|
设计模式 测试技术 数据库连接
Entity Framework Core 中的依赖注入超厉害!DI 与 DbContext 完美结合,提升开发效率
【8月更文挑战第31天】依赖注入(DI)是一种软件设计模式,用于将对象的依赖关系与其创建过程解耦,从而提升代码的可测试性、可维护性和可扩展性。在Entity Framework Core中使用DI能够提高可测试性,便于替换DbContext实现以进行单元测试;增强可维护性,使代码模块化并清晰展示组件间的依赖关系;提升可扩展性,方便添加新服务和功能而不需修改现有代码。通过Microsoft.Extensions.DependencyInjection等依赖注入容器,可将DbContext注册并注入到需要使用的类中,简化数据库管理和测试流程。
460 0