首页 > 编程语言 >Java实现一个简单的计算器

Java实现一个简单的计算器

时间:2024-05-29 14:13:07浏览次数:24  
标签:Java num1 num2 计算器 System 运算符 result 简单 out

当实现一个简单的计算器时,我们可以创建一个Java程序,该程序接受用户输入的两个数字和一个运算符,然后执行相应的数学运算并输出结果。下面是一个简单的Java代码示例,用于实现这样的计算器:

import java.util.Scanner;  
  
public class SimpleCalculator {  
    public static void main(String[] args) {  
        Scanner scanner = new Scanner(System.in);  
  
        System.out.print("请输入第一个数字: ");  
        double num1 = scanner.nextDouble();  
  
        System.out.print("请输入运算符 (+, -, *, /): ");  
        String operator = scanner.next();  
  
        System.out.print("请输入第二个数字: ");  
        double num2 = scanner.nextDouble();  
  
        double result;  
  
        switch (operator) {  
            case "+":  
                result = num1 + num2;  
                break;  
            case "-":  
                result = num1 - num2;  
                break;  
            case "*":  
                result = num1 * num2;  
                break;  
            case "/":  
                // 检查除数为0的情况  
                if (num2 != 0) {  
                    result = num1 / num2;  
                } else {  
                    System.out.println("除数不能为0");  
                    return;  
                }  
                break;  
            default:  
                System.out.println("无效的运算符");  
                return;  
        }  
  
        System.out.printf("%.2f %s %.2f = %.2f%n", num1, operator, num2, result);  
  
        scanner.close();  
    }  
}

在这个程序中,我们使用了Scanner类来获取用户输入。首先,我们要求用户输入两个数字和一个运算符。然后,我们使用switch语句来根据运算符执行不同的数学运算。如果运算符是除号(/),我们还需要检查除数是否为0,以避免除以零的错误。最后,我们打印出计算结果。

要运行此程序,请将其复制到Java开发环境中,并确保您已经正确配置了Java环境。然后,编译并运行程序,按照提示输入数字和运算符,程序将给出相应的计算结果。

如果我们想要将计算器的输出改为字符串形式,而不是直接打印到控制台,我们可以将结果存储在一个字符串变量中,并在需要的时候(比如打印到控制台或返回给调用者)使用该字符串。以下是一个修改后的代码示例:

import java.util.Scanner;  
  
public class SimpleCalculator {  
    public static String calculate(double num1, String operator, double num2) {  
        double result;  
  
        switch (operator) {  
            case "+":  
                result = num1 + num2;  
                break;  
            case "-":  
                result = num1 - num2;  
                break;  
            case "*":  
                result = num1 * num2;  
                break;  
            case "/":  
                // 检查除数为0的情况  
                if (num2 == 0) {  
                    return "除数不能为0";  
                }  
                result = num1 / num2;  
                break;  
            default:  
                return "无效的运算符";  
        }  
  
        // 将结果格式化为字符串  
        return String.format("%.2f %s %.2f = %.2f", num1, operator, num2, result);  
    }  
  
    public static void main(String[] args) {  
        Scanner scanner = new Scanner(System.in);  
  
        System.out.print("请输入第一个数字: ");  
        double num1 = scanner.nextDouble();  
  
        System.out.print("请输入运算符 (+, -, *, /): ");  
        String operator = scanner.next();  
  
        System.out.print("请输入第二个数字: ");  
        double num2 = scanner.nextDouble();  
  
        // 调用calculate方法获取字符串结果  
        String resultString = calculate(num1, operator, num2);  
  
        // 打印结果到控制台  
        System.out.println(resultString);  
  
        scanner.close();  
    }  
}

在这个修改后的代码中,我们添加了一个名为calculate的方法,它接受两个数字和一个运算符作为参数,并返回计算结果的字符串表示形式。main方法现在调用calculate方法,并将结果存储在一个字符串变量resultString中,然后将其打印到控制台。

注意,当除数为0时,calculate方法现在返回一个错误消息字符串,而不是直接打印到控制台。同样,如果运算符无效,它也会返回一个错误消息字符串。

标签:Java,num1,num2,计算器,System,运算符,result,简单,out
From: https://www.cnblogs.com/TS86/p/18220154

相关文章

  • 28. 【Java教程】Scanner 类
    一直以来,我们都使用System.out.println()方法向屏幕打印内容,那么如何接收输入的内容呢?本小节所学习的Scanner类就可以实现对输入内容的接收。在本小节,我们将学习Scanner类的定义,如何使用Scanner类以及其常用方法,在学完这些基础知识后,我们会在最后学习一个比较有趣的实例程序。......
  • 零基础学Java第二十六天之Stream流
    Stream简介Stream(流)是数据渠道,用于操作数据源(集合、数组等),生成元素序列。换言之,集合是存储数据的容器,流使用操作这些数据的Stream可以对集合进行非常复杂的查找、过滤、映射数据等操作,类似于SQL执行数据库查询。Stream提供了一种高效且易于使用的处理数据的方式注意:St......
  • 采用Java+ SpringBoot+ IntelliJ+idea开发的ADR药物不良反应监测系统源码
    采用Java+SpringBoot+IntelliJ+idea开发的ADR药物不良反应监测系统源码ADR药物不良反应监测系统有哪些应用场景?ADR药物不良反应监测系统有哪些应用场景?ADR药物不良反应监测系统具有广泛的应用场景,以下是一些主要的应用场景:一、医院临床监测:药品不良反应智能监测系统基......
  • 基于Java+Vue的园区智能化管理系统:优化园区工作流程,夯实园区服务和管理水平(整套源码)
        前言:智慧园区管理平台是一个集成了多种功能的综合性系统,旨在通过信息化、智能化手段提升园区的管理效率和服务质量。以下是针对系统的各个功能模块的简要描述:一、楼栋管理会务管理:管理园区内的会议预约、会议室使用等。园区信息:展示园区的基本信息,如位置、面积、规......
  • JavaScript基础ECMAScript知识点复习整理
    **本篇文章食用的简单说明**本篇文章为复习JavaScript基础ECMAScript进行了知识点梳理,加粗部分为重点!!!加粗加红为重重点!!!由于JavaScript内容比较多,本篇文章只是基础部分,WebAPIs(DOM和BOM)等知识在后续过程中会继续更新,欢迎小伙伴在评论区补充~推荐大家按记忆梳理部分的内容自......
  • Java实战开发第一课-接口设计
    1、协议协议通常采用HTTP查询类接口通常为get或者post(查询条件较少用get,较多用post)还需要确定content-type,参数以哪种数据格式提交,结果通过哪种数据格式响应大多数以json格式响应2、分析请求参数根据请求参数定义模型类3、分析响应结果根据响应结果定义模型类4、使......
  • 简单了解java接口
    java中接口的定义与实现接口的作用制定规则制定规则的两种方案定义类:类中书写抽象方法(不建议使用,因为类只能单一继承)定义接口:接口中书写抽象方法(建议使用,因为接口可以实现多继承)接口的定义publicinterface接口名子{//抽象方法}注意:接口不能实例化,即接口不......
  • java代码块
    Java中的代码块代码块分类静态代码块构造代码块局部代码块构造代码块怎么书写构造代码块publicclassDemo{{//构造代码块,书写位置是类中方法外}}构造代码块执行特点和作用执行特点:会在每一个构造方法执行前执行一次publicclassDemo......
  • java是什么?
    一、Java基础Java语言特性面向对象:Java是一种面向对象的编程语言,支持封装、继承和多态等OOP概念。跨平台性:Java程序通过Java虚拟机(JVM)实现跨平台运行。简单性:相较于C++,Java摒弃了复杂的指针和多重继承等概念,使学习更加容易。安全性:Java提供了丰富的安全特性,如内存管理和垃圾......
  • 【Java】流程控制(条件语句、循环语句、分支语句和异常处理)
    1、简介流程控制是编程中非常重要的一部分,它决定了程序执行的顺序和逻辑。在Java中,有几种主要的流程控制结构,包括条件语句、循环语句、分支语句和异常处理。2、条件语句2.1简介条件语句用于根据某个条件是否成立来决定执行哪段代码。Java中最常用的条件语句是if语句,if-els......