当前位置: 首页 > article >正文

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

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

思路:

(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.kler.cn/a/302993.html

相关文章:

  • 【教程】Ubuntu设置alacritty为默认终端
  • goframe开发一个企业网站 验证码17
  • 硬件工程师之电子元器件—二极管(4)之热量对二极管温度特性的影响
  • 3D编辑器教程:如何实现3D模型多材质定制效果?
  • 使用 unicorn 和 capstone 库来模拟 ARM Thumb 指令的执行(一)
  • MySQL的SQL书写顺序和执行顺序
  • Node.js发票识别接口助力企业实现发票的精准高效管理
  • golang学习笔记10——golang 的 Gin 框架,快速构建高效 Web 应用
  • 【Go】使用Goland创建第一个Go项目
  • 微服务杂谈
  • Android Studio打开Modem模块出现:The project ‘***‘ is not a Gradle-based project
  • 北京市推进车路城协同发展的创新实践与未来展望
  • 【数据结构与算法 | 灵神题单 | 删除链表篇】力扣3217, 82, 237
  • torchvision.transforms.ToPILImage()使用
  • 【工具】前端JavaScript代码在线执行器 方便通过网页 手机测试js代码
  • 基于深度学习的时空预测
  • 谷粒商城の缓存篇
  • 软件工程进度管理
  • Linux进阶命令-top
  • 学习记录之C语言学习笔记2
  • 【笔记】绪论 轨道交通材料及其加工工艺
  • 密码学---黄道十二宫
  • 春秋云境靶场之CVE-2022-32991
  • 统计在线人数,百万数据表,查询很慢,如何统计,用php如何实现
  • 产品经理如何转型为AI产品经理,如何理解AI产品工程化
  • 工厂安灯系统在优化生产流程上的优势