首页 > 其他分享 >编写计算器

编写计算器

时间:2022-09-25 17:45:58浏览次数:52  
标签:scanner double System 计算器 println 编写 public out

写一个计算器,要求实现加减乘除功能,通过用户交互实现

思路:

  • 写四个方法
  • 利用switch进行用户交互
  • 传递需要操作的两个数
  • 输出结果

法一:方法没有返回值

package com.zhangyi.base;


import java.util.Scanner;

public class Calculator {
    public static void main(String[] args) {
        //创建一个扫描器对象,用于接收
        Scanner scanner = new Scanner(System.in);
        //从键盘输入数据
        System.out.println("请输入一个数:");
        double a = scanner.nextDouble();
        System.out.println("请输入运算符:");
        String symbol = scanner.next();
        System.out.println("请输入另一个数:");
        double b = scanner.nextDouble();
        //switch语句判断运算类型
        switch (symbol) {
            case "+":
                add(a, b);
                break;//记得终止
            case "-":
                subtract(a, b);
                break;
            case "*":
                multiply(a, b);
                break;
            case "/":
                divide(a, b);
                break;
        }
        scanner.close();//关闭scanner资源
    }
    //加法
    public static void add(double a, double b) {

        System.out.println("结果是"+(a + b));
    }
    //减法
    public static void subtract(double a, double b) {
        System.out.println("结果是"+(a - b));
    }
    //乘法
    public static void multiply(double a, double b) {
        System.out.println("结果是"+(a * b));
    }
    //除法
    public static void divide(double a, double b) {
        //为了严谨,记得考虑分母为零的情况
        if (b == 0) {
            System.out.println("分母不能为零!");
        } else {
            System.out.println("结果是"+(a / b));
        }
    }
}

法二:方法有返回值

package com.zhangyi.base;


import java.util.Scanner;

public class calculator2 {
    public static void main(String[] args) {
        //创建一个扫描器对象,用于接收
        Scanner scanner = new Scanner(System.in);
        //从键盘输入数据
        System.out.println("请输入一个数:");
        double a = scanner.nextDouble();
        System.out.println("请输入运算符:");
        String symbol = scanner.next();
        System.out.println("请输入另一个数:");
        double b = scanner.nextDouble();
        switch (symbol) {
            case "+":
                System.out.println("结果是:" + add(a, b));
                break;
            case "-":
                System.out.println("结果是:" + subtract(a, b));
                break;
            case "*":
                System.out.println("结果是:" + multiply(a, b));
                break;
            case "/":
                if (b == 0) {
                    System.out.println("分母不能为零!");
                } else {
                    System.out.println("结果是:" + divide(a, b));
                }
                break;
        }
        scanner.close();
    }
    public static double add(double a,double b){
        return a+b;
    }
    public static double subtract(double a,double b){
        return a-b;
    }
    public static double multiply(double a,double b){
        return a*b;
    }
    public static double divide(double a,double b){
        return a/b;
    }

}

问题:没能够循环接收新的数据

每日分享:

试炼的尽头是花开万里

标签:scanner,double,System,计算器,println,编写,public,out
From: https://www.cnblogs.com/zhang11/p/16728332.html

相关文章

  • 使用pychrm编写第一个Flask Web程序
    使用pychrm编写第一个FlaskWeb程序fromflaskimportFlaskapp=Flask(__name__)#实例化类[email protected]('/')#装饰器操作,实现URL地址defhello():......
  • 记事本编写Java文件
    HelloWorld随便新建文件夹,存放代码新建一个java文件文件后缀名为.javaHello.java编写代码publicclassHello{ publicstaticvoidmain(String[]args){......
  • 学习记录9计算器以及遇到的问题
    在代码运行或称中,会有一些小数的计算结果无法准确求出,出现精度丢失的问题原因:是计算机在计算过程中,将给定的数值先转化为二进制计算,然后再转化为十进制,转化的过程中一......
  • python代码编写---PEP8规范
    PEP8规范---StyleGuideforPythonCodePEP8简介1.PEP是PythonEnhancementProposal的缩写,通常翻译为:Python增强提案enhance增强改善(V)Proposal提议建议(n)2.......
  • 用SQL编写获取拼音码的函数
    CREATEfunction[dbo].[fn_GetPy](@strnvarchar(4000))returnsnvarchar(4000)--WITHENCRYPTIONasbegindeclare@intLenintdecl......
  • 模板分文件编写,CUDA打印
    ifndefFUN_HPPdefineFUN_HPPifdefined(USE_EXPORT)defineEXPORTexportelsedefineEXPORTendifEXPORTtemplatevoidprint_typeof(Tconst&);if!defined(US......
  • 使用 CSS 从头开始​​编写时间线效果
    我报名了GoldstoneProjectPhase1Challenge——瓜分100,000奖池,这是我的第7篇文章,点击查看活动详情时间线效果介绍在前端开发中,我们会遇到一些特别适合用时间轴显示......
  • 使用Typro高效编写并同步博客
    使用Typro高效编写并同步博客一.前言写博客,可以带给我们很多好处,比如可以让我们结识更多志同道合的人;在写博客过程中去查技术资料或者实践可以让我们对知识的掌握和理解......
  • centos部署Django三:编写相关配置文件及启动服务
     1.进入到项目的根目录,编写uwsgi.xml配置文件*:centos用的不是uwsgi.ini,而是uwsgi.xml<uwsgi><socket>127.0.0.1:8997</socket><!--内部端口,自定义......
  • 接口文档编写规范(前后端分离项目接口api)
    接口文档编写规范API规范api主要包括四部分:uri、请求方式、请求参数、返回参数,一般就是对这四部分做统一规范接口url:是否是rest风格的,统一标识,比如登录的url:/login......