首页 > 其他分享 >计算器实现加减乘除

计算器实现加减乘除

时间:2023-09-18 13:22:20浏览次数:29  
标签:num1 实现 float int result 计算器 parseInt Integer 加减乘除

写一个计算器

要求实现加减乘除功能,并且能够循环接收新的数据,通过用户交互实现。

思路:

1.写4个方法:加减乘除

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

3.传递需要操作的两个数

4.输出结果

import java.util.Scanner;

public class computer {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        computer computer = new computer();
        int intNum1 = 0;
        int intNum2 = 0;
        float floatNum1 = 0.0f;
        float floatNum2 = 0.0f;
        String num1 = "";
        String num2 = "";
        String sign = "请检查运算符号输入是否正确!";
        System.out.println("请输入第一个数:");
        if(scanner.hasNextInt()){
            intNum1 = scanner.nextInt();
            num1 = String.valueOf(intNum1);
        }else if(scanner.hasNextFloat()){
            floatNum1 = scanner.nextFloat();
            num1 = String.valueOf(floatNum1);
        }
        System.out.println("请输入 + 或 - 或 * 或 / 任意一个运算符号:");
        if(scanner.hasNext()){
            sign = scanner.next();
        }
        System.out.println("请输入第二个数:");
        if(scanner.hasNextInt()){
            intNum2 = scanner.nextInt();
            num2 = String.valueOf(intNum2);
        }else if(scanner.hasNextFloat()){
            floatNum2 = scanner.nextFloat();
            num2 = String.valueOf(floatNum2);
        }
        int result = 0;
        if(judgeIsDecimal(num1) == false) {
            switch (sign)
            {
                case "+":
                    result = computer.add(Integer.parseInt(num1), Integer.parseInt(num2));
                    break;
                case "-":
                    result = computer.sub(Integer.parseInt(num1), Integer.parseInt(num2));
                    break;
                case "*":
                    result = computer.mul(Integer.parseInt(num1), Integer.parseInt(num2));
                    break;
                case "/":
                    result = computer.div(Integer.parseInt(num1), Integer.parseInt(num2));
                    break;
                default:
                    System.out.println("请检查运算符号输入是否正确!");
            }
        }else if(judgeIsDecimal(num1) == true){
                switch (sign)
                {
                    case "+":
                        result = computer.add(Integer.parseInt(num1), Integer.parseInt(num2));
                        break;
                    case "-":
                        result = computer.sub(Integer.parseInt(num1), Integer.parseInt(num2));
                        break;
                    case "*":
                        result = computer.mul(Integer.parseInt(num1), Integer.parseInt(num2));
                        break;
                    case "/":
                        result = computer.div(Integer.parseInt(num1), Integer.parseInt(num2));
                        break;
                    default:
                        System.out.println("请检查运算符号输入是否正确!");
                }
        }else {
            System.out.println("请检查输入是否为整数或小数!");
        }
        System.out.println(intNum1+" "+sign+" "+intNum2+" = "+result);
        scanner.close();
    }

    public static boolean judgeIsDecimal(String num){

        boolean isdecimal = false;

        if (num.contains(".")) {

            isdecimal=true;

        }

        return isdecimal;

    }
    public static int add(int a,int b){
        int result = a + b;
        return result;
    }
    public static float add(float a,float b){
        float result = a + b;
        return result;
    }

    public static int sub(int a,int b){
        int result = a - b;
        return result;
    }
    public static float sub(float a,float b){
        float result = a - b;
        return result;
    }

    public static int mul(int a,int b){
        int result = a * b;
        return result;
    }
    public static float mul(float a,float b){
        float result = a * b;
        return result;
    }
    public static int div(int a,int b){
        int result = a / b;
        return result;
    }
    public static float div(float a,float b){
        float result = a / b;
        return result;
    }
}

标签:num1,实现,float,int,result,计算器,parseInt,Integer,加减乘除
From: https://www.cnblogs.com/sara0618/p/17711638.html

相关文章

  • 基于BS模式的大学校园网的设计及实现-计算机毕业设计源码+LW文档
    一、选题的目的及意义随着Internet应用的普及,网站的地位尤为突出,它已成为现代人学习和获取信息的重要组成部分,从而备受人们的重视,国内外各个学校都有自己的校园网,同学们可以非常容易的获取信息。目前,在我国的很多学校,大学校园网还不够完善健全,基于此,开发出现代化的校园网应用到各......
  • 基于BS模式的企业管理信息系统的设计及实现-计算机毕业设计源码+LW文档
    一、选题的目的及意义随着企业规模的发展,公司业务越来越多,考勤和人员的管理也变得越来越困难。在传统的企业管理中,公司往往通过大量的人力和物力进行管理,通过手工记录考勤,统计员工信息。这种传统的管理方法容易出错,而且不能适应现代化、信息化的发展过程。因此,本基于B/S模式的企业......
  • 基于javaweb远程教育网站开发与实现-计算机毕业设计源码+LW文档
    一、课题简介本课题将设计并实现一个基于JAVAWEB远程教育网站,根据课题的需求制定技术开发方案,可分别实现管理员与普通用户的注册、登录功能,可以实现客户端C++编程语言课程视频选取播放、学习进度记录、问答咨询论坛、在线测试等功能,实现服务端相关数据表的增删改查功能以及学生注......
  • 图像去噪及其Matlab实现
    ✅作者简介:热爱科研的算法开发者,Python、Matlab项目可交流、沟通、学习。......
  • 获盈通:在闲暇之余创造价值,实现梦想
       在当今高速发展的社会环境中,人们追求全面发展、实现多元化进步的愿望变得越来越强烈。在这种背景下,兼职副业为人们提供了一个很好的实现自己价值的平台。本文将向您介绍兼职副业的魅力所在以及如何在其中成功地把握住机会,实现梦想。兼职副业的魅力在于它可以拓展个人的能......
  • 循序渐进介绍基于CommunityToolkit.Mvvm 和HandyControl的WPF应用端开发(4) -- 实现Da
    在我们设计软件的很多地方,都看到需要对表格数据进行导入和导出的操作,主要是方便客户进行快速的数据处理和分享的功能,本篇随笔介绍基于WPF实现DataGrid数据的导入和导出操作。1、系统界面设计在我们实现数据的导入导出功能之前,我们在主界面需要提供给客户相关的操作按钮,如下界面......
  • 从零开始使用vue2+element搭建后台管理系统(动态表单实现(含富文本框))[待完善]
    在后台项目的实际开发过程中,涉及到表单的部分通常会使用动态渲染的方案进行实现,由后端接口返回表单配置,前端进行遍历渲染。考虑到通用后台需要具备的功能,除了基础的表单项如输入、下拉、多选、开关、时间、日期等,还需要具备上传、富文本框等功能。首先导入一个百度来的富文本框插......
  • Windows和Linux下通过go实现自删除
    自删除在攻防中都挺常见的,自写远控通常也有需要。可是在度娘里搜不到什么办法,于是就查查Windowsapi学习记录一回。linux先获得当前程序的文件名,再使用syscall这个包中的Unlink调用系统来删除一个目录或者文件的链接,链接没了也就删除完成了。fileName,_:=os.Executable()......
  • Java实现接口
    声明:本文记录基于JDK8(8u211)的继承使用规则如果存在错误,请发邮件至[email protected]联系我创作时间:2023-09-1511:00:21创作情况:失业第45天,地处成都金牛区创作者:一口吃不成胖子接口就是一种规范,对实现他的类进行限制,它本身并不实现任何方法,接口中不能声明具体实现的方......
  • Springboot简单功能示例-3 实现基本登录验证
    springboot-sample介绍springboot简单示例跳转到发行版软件架构(当前发行版)Springboot3.1.3hutoolbcprov-jdk18on安装教程gitclone--branch基本登录验证[email protected]:simen_net/springboot-sample.git主要功能增加登录验证功能在pom.xml中加入sprin......