Java实现简易计算器功能(idea)

news2024/9/25 21:19:10

目的:写一个计算器,要求实现加减乘除功能,并且能够循环接收新的数据,通过用户交互实现。

思路:

(1)写4个方法:加减乘除

(2)利用循环+switch进行用户交互

(3)传递需要操作的两个数

(4)输出结果

package com.wang.method;

import java.util.Scanner;

public class Calculator {
    public static void main(String[] args) {
        //为Scanner 类创建对象 num,method,分别用于两个数据,运算符号的输入
        Scanner num = new Scanner(System.in);
        Scanner method =new Scanner(System.in);

        //提示输入数据
        System.out.println("请输入数据和运算符:");

        //循环接收新的数据
        while (num.hasNextDouble() && method.hasNext()) {
            double x = num.nextDouble();    //接收第一个数据
            char c = method.next().charAt(0);  //接收运算符
            double y = num.nextDouble();    //接收第二个数据
            //用switch多选结构,选择输入的操作符类型
            switch (c) {
                case '+':
                    System.out.println("=" + add(x,y));
                    break;
                case '-':
                    System.out.println("=" + sub(x,y));
                    break;
                case '*':
                    System.out.println("=" + mul(x,y));
                    break;
                case '/':
                    System.out.println("=" + div(x,y));
                    break;
                default:
                    System.out.println("仅支持加减乘除运算!");
                    break;
            }
            System.out.println("输入除数字外的其他符号结束计算!");
        }
        //关闭,节约资源
        num.close();
        method.close();
    }

    //加法
    public static double add(double a, double b) {
        return a + b;
    }
    //减法
    public static double sub(double a, double b) {
        return a - b;
    }
    //乘法
    public static double mul(double a, double b) {
        return a * b;
    }
    //除法
    public static double div(double a, double b) {
        if (b == 0) {
            return 0;
        }else {
            return a / b;
        }
    }

}

计算过程和结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2121312.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

解决windows中项目启动端口被占用报错

1.在启动项目时报错端口被占用 解决: 1.cmd命令行输入命令: netstat -ano | findstr “8000” 2.可以看到PID为8448,下面只要将该PID关闭即可,有两种方法: ①在任务管理器中找到PID为8448的服务结束 ②命令行输入: >taskkill /PID 8448 /F 3.再查…

关于低代码平台几个新技术应用的实践体验

最近在整理平台的基本功能使用体验: 1,使用低码平台,创建用户业务站点交互原型,基本是可行的。虽然相对于专业的 墨刀、蓝湖、figma 等在用户体验上还有差距,但对于普通应用差别不大。 2,根据UI/UE原型&am…

力扣(LeetCode)每日一题 2181. 合并零之间的节点

题目链接https://leetcode.cn/problems/merge-nodes-in-between-zeros/description/?envTypedaily-question&envId2024-09-09 题目描述 给你一个链表的头节点 head ,该链表包含由 0 分隔开的一连串整数。链表的 开端 和 末尾 的节点都满足 Node.val 0 。 对…

HNU-2023电路与电子学-CPU综合设计

写在前面: 本次实验是课程的最后一次实验,要求按照指导书的说明将之前的板块整合成一个完整的CPU,建议大家每连接一个板块都进行一次仿真验证,保证能正常运行且功能正常,如果等到CPU组装好再调试工作量较大并且有些错…

如何恢复最近删除的文件[Windows Mac]

可以通过多种方式删除文件。因此,用户需要恢复他们不小心删除的文件的情况并不少见。 好消息是,用户至少通常可以在删除最近删除的文件后几天或几周内恢复它们。 回收站是 Windows 中的文件删除保护措施,可以轻松恢复文件。 除非另有配置&…

第二证券:科创板股票交易规则,科创板新手可以买吗?

科创板是独立于现有主板商场的特别板块,面向的是国际科技前沿、经济主战场、国家严峻需求,首要服务于契合国家战略、打破要害核心技术、商场认可度高的科技立异企业。 科创板是独立于现有主板商场的特别板块,面向的是国际科技前沿、经济主战…

二叉树 - 验证二叉搜索树

98. 验证二叉搜索树 方法一:辅助数组 /*** Definition for a binary tree node.* function TreeNode(val, left, right) {* this.val (valundefined ? 0 : val)* this.left (leftundefined ? null : left)* this.right (rightundefined ? null :…

WPF中创建横向的ListView

在WPF中,要创建横向的ListView,您可以通过设置ItemsControl的ItemsPanel来改变其项的排列方向。以下是一个简单的示例,展示了如何将ListView的项横向排列: 在这个例子中,WrapPanel用于横向排列其子元素,而…

本地Linux服务器使用docker搭建DashDot并实现公网实时监测服务器信息

文章目录 前言1. 本地环境检查1.1 安装docker1.2 下载Dashdot镜像 2. 部署DashDot应用3. 本地访问DashDot服务4. 安装cpolar内网穿透5. 固定DashDot公网地址 前言 本篇文章我们将使用Docker在本地部署DashDot服务器仪表盘,并且结合cpolar内网穿透工具可以实现公网实…

C语言 ——— 学习并使用条件编译指令

目录 何为条件编译指令 常见的条件编译指令 学习条件编译指令 使用条件编译指令 在程序预编译阶段,条件编译指令的代码转换 多分支的条件编译指令 何为条件编译指令 在编译一个程序的时候,如果要将一条语句(一组语句)选择编…

Redis学习Day2——Redis基础使用

扩展阅读推荐: Redis 教程 | 菜鸟教程 (runoob.com) 黑马程序员Redis入门到实战教程_哔哩哔哩_bilibili 细说 Redis 九种数据类型和应用场景_redis数据类型及应用场景-CSDN博客 一、命令篇 1.1 Redis的命令分类 Redis是典型的K-V型数据库,key标识字符串,而value包含了很…

React Native 0.76版本发布

关于 React Native 的 New Architecture 概念,最早应该是从 2018 年 RN 团队决定重写大量底层实现开始,因为那时候 React Native 面临各种结构问题和性能瓶颈,最终迫使 RN 团队开始进行重构。 而从 React Native 0.68 开始,New A…

在B端管理系统中,复杂或者DIY功能,都依赖哪些编辑器/设计器

一、引言 在当今的商业环境中,B 端管理系统扮演着至关重要的角色。这些系统不仅需要满足企业日常的运营管理需求,还需要具备足够的灵活性和可扩展性,以适应不断变化的业务需求。而在实现复杂或可 DIY 的功能方面,各种编辑器和设计…

C++VTK鼠标框选局部删除三维网格

程序示例精选 CVTK鼠标框选局部删除三维网格 如需安装运行环境或远程调试,见文章底部个人QQ名片,由专业技术人员远程协助! 前言 这篇博客针对《CVTK鼠标框选局部删除三维网格》编写代码,代码整洁,规则,易…

暗星·Java实战之进阶旅游网

简介 暗星旅游网,是一个分为管理员端和用户端的项目,有权限分离认证,管理员端(后台)进行旅游产品的维护,主要功能有:管理员管理,角色管理,权限管理,认证和授…

Python怎么发送邮件:基础步骤与详细教程?

Python怎么发送邮件带附件?怎么使用Python发送邮件? 无论是工作中的通知、报告,还是生活中的问候、邀请,电子邮件都扮演着不可或缺的角色。那么,Python怎么发送邮件呢?AokSend将详细介绍Python发送邮件的基…

三、排序算法

文章目录 一、排序算法的介绍二、算法的时间复杂度2.1 基本介绍2.2 时间频度2.3 时间复杂度的表示2.4 算法的平均时间复杂度和最坏时间复杂度 三、算法的空间复杂度四、排序算法4.1 交换排序4.1.1 冒泡排序4.1.2 快速排序 4.2 选择排序4.2.1 简单选择排序4.2.2 堆排序 4.3 插入…

基于Llama 3的最强开源医疗AI模型发布,刷新榜单

转自:火星AIGC 一家名为Saama AI Labs发布了他们基于Llama 3 微调的开源医疗AI大模型OpenBioLLM-Llama3-70B 和 OpenBioLLM-Llama3-8B,刷新抱抱脸上的医疗大模型榜单,并占据榜首。其在生物医学领域的测试性能超越 GPT-4、Gemini、Meditron-7…

浙大数据结构:04-树6 Complete Binary Search Tree

这道题利用了完全二叉树的性质,我也参考了一些代码写的。 (自己一开始写了别的方法,但一直过不了最后一个测试点,红温了) 机翻: 1、条件准备 用vector存输入的数据,另一个数组存输出的结果&a…

文心一言 VS 讯飞星火 VS chatgpt (344)-- 算法导论23.2 3题

三、对于稀疏图 G ( V , E ) G(V,E) G(V,E),这里 ∣ E ∣ Θ ( V ) |E|Θ(V) ∣E∣Θ(V),使用斐波那契堆实现的Prim算法是否比使用二叉堆实现的算法更快?对于稠密图又如何呢? ∣ E ∣ |E| ∣E…