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

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

思路:

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

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

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

(4)输出结果

java 复制代码
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;
        }
    }

}

计算过程和结果:

相关推荐
啊阿狸不会拉杆6 分钟前
《算法导论》第 7 章 - 快速排序
开发语言·数据结构·c++·算法·排序算法
PyHaVolask8 分钟前
PHP进阶语法详解:命名空间、类型转换与文件操作
开发语言·php·composer
丶小鱼丶12 分钟前
Spring之【初识AOP】
java·spring
亲爱的非洲野猪16 分钟前
如何定位一个高并发场景下API响应时间从200ms突增到2s的问题
java·性能优化·线上问题
都叫我大帅哥34 分钟前
⏱️ 时间轮算法实现延迟消息:高性能的"消息闹钟"
java
探索java1 小时前
Spring MVC框架中全局异常处理机制详解
java·spring·mvc
意疏1 小时前
浙江大学PTA程序设计C语言基础编程练习题6-10
c语言·开发语言
AI必将改变世界1 小时前
【软考系统架构设计师备考笔记5】 - 专业英语
java·开发语言·人工智能·笔记·系统架构·英语
_祝你今天愉快1 小时前
Java Lock
android·java·后端
listhi5201 小时前
Python实现信号小波分解与重构
开发语言·python·重构