Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >简单计算器的实现

简单计算器的实现
EN

Stack Overflow用户
提问于 2013-11-13 10:32:06
回答 2查看 1.1K关注 0票数 1

创建一个程序来模拟一个非常简单的计算器

因此,我被要求实现一个表示二进制(有2个参数)算术表达式的抽象类。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
abstract class ArithmeticExpression {

    double binary1;
    double binary2;

    public abstract void evaluate ();

    public abstract void display ();

}

因此,我创建了子类--加、乘、减和除。在减法方面:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class subtract extends ArithmeticExpression {
    // private double result;
    double binary1;
    double binary2;

    public subtract (double x, double y) {
        this.binary1 = x;
        this.binary2 = y;
    }

    public  void evaluate () {

        System.out.println("Expression: " + getsubX() + " - " + getsubY() + " = ");

        // return result;
    }

    public  void display () {

    }

    public double getsubX() {

    }

    public double getsubY() {

    }

使用这些类,我应该能够表示任意的表达式,而不需要硬编码。

也有人说,计算应该返回结果为双,显示方法应该打印出来的表达式在字符串。我在正确的轨道上吗?我在这里错过了什么?这部分我不明白它怎么能代表任何一种表达?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-13 10:52:37

使用抽象的ArithmeticExpression,下面是减法类的样子。Java类以大写字母开头。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class Subtract extends ArithmeticExpression {
    double  result;

    public Subtract(double x, double y) {
        this.binary1 = x;
        this.binary2 = y;
    }

    @Override
    public void evaluate() {
        result = binary1 - binary2;
    }

    @Override
    public void display() {
        System.out.println("Expression: " + binary1 + 
                " - " + binary2 + " = " + result);
    }

}

您不必重新声明binary1和binary2。它们在抽象的ArithmeticExpression类中实例化。

你必须提供一个双倍的结果。这应该在抽象的ArithmeticExpression类中完成。

评估()方法用于评估。

display()方法用于显示。

您不必在减具体类中定义任何其他方法。

票数 0
EN

Stack Overflow用户

发布于 2013-11-13 10:51:17

如果您想要计算任何插入形式为

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
4 + 3 * ( 4 + 5)

您需要创建二叉树或堆栈,并在其中填充这些值和运算符。

我不太明白的是你所谓的二进制表示为双。如果您希望具有二进制calc,则应使用无符号int或long (或任何其他类型,即非浮点数)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19961629

复制
相关文章
【Android Gradle 插件】Gradle 自动化构建 ① ( Gradle 构建工具简介 | Gradle 构建工具用途 )
在最开始 Android 开发时 , 使用 Eclipse + ADT 进行开发 , 使用的是 Ant 构建工具 进行构建 ;
韩曙亮
2023/03/30
5410
Gradle构建提速
提速法则一览 以上优化方案基于android gradle tools 3.0-alpha 关于Santa Tracker Project 9 个模块,包括Wear 500 多个Java文件 170
我就是马云飞
2018/02/05
1.4K0
Gradle构建提速
gradle中的增量构建
在我们使用的各种工具中,为了提升工作效率,总会使用到各种各样的缓存技术,比如说docker中的layer就是缓存了之前构建的image。在gradle中这种以task组合起来的构建工具也不例外,在gradle中,这种技术叫做增量构建。
程序那些事
2021/02/25
1.1K0
gradle中的增量构建
gradle中的增量构建
在我们使用的各种工具中,为了提升工作效率,总会使用到各种各样的缓存技术,比如说docker中的layer就是缓存了之前构建的image。在gradle中这种以task组合起来的构建工具也不例外,在gradle中,这种技术叫做增量构建。
子润先生
2021/06/21
8030
gradle中的增量构建
在我们使用的各种工具中,为了提升工作效率,总会使用到各种各样的缓存技术,比如说docker中的layer就是缓存了之前构建的image。在gradle中这种以task组合起来的构建工具也不例外,在gradle中,这种技术叫做增量构建。
程序那些事
2021/02/17
1.8K0
Gradle 构建脚本
Gradle提供了一种领域特定语言,目前同时支持 Groovy 和 Kotlin 。
佛系编码
2019/12/11
9030
Gradle 构建脚本
Gradle教程和指南 – 创建Gradle构建
遵循本指南,你将创建一个Gradle项目,调用一些基本的Gradle命令,并了解Gradle如何管理项目。
全栈程序员站长
2022/09/14
1.9K0
Gradle教程和指南 – 创建Gradle构建
gradle构建工具的使用前言:一、gradle简介:二、gradle的安装:三、eclipse中配置gradle:四、使用gradle构建项目:总结:
gradle是构建工具,类似于ant和maven,也许目前maven还是主流,但是gradle却是综合了ant和maven的优点,发展速度很快,所以很有必要了解一下。
贪挽懒月
2018/08/02
2.8K0
gradle构建工具的使用前言:一、gradle简介:二、gradle的安装:三、eclipse中配置gradle:四、使用gradle构建项目:总结:
Gradle 构建多种版本
开发APP时,会有生成不同版本的需求。比如测试版本和发布版本。不同版本之间通常有不同的设置。
AnRFDev
2021/02/01
6220
如何使用Docker构建运行时间较长的脚本
我想我已经找到了一个非常不错的Docker使用案例。你是不是会觉得这是一篇写Docker有多好多好的文章,开始之前我想和你确认,这篇文章会介绍如何把文件系统作为持久性的数据结构。
星哥玩云
2022/07/03
1.5K0
【Android Gradle 插件】Android Studio 工程 Gradle 构建流程 ① ( 触发 Android Studio 工程构建 | Gradle 构建脚本执行顺序 )
最近将 Android Studio 更新到了 Android Studio Dolphin | 2021.3.1 Patch 1 版本 , 发现创建的 Android 工程中 生成的 Gradle 脚本 不一样了 , 在这里 梳理下新版本的 Gradle 执行流程 ;
韩曙亮
2023/03/28
1.2K0
【Android Gradle 插件】Android Studio 工程 Gradle 构建流程 ① ( 触发 Android Studio 工程构建 | Gradle 构建脚本执行顺序 )
Gradle构建springBoot项目
你肯定会说为什么不用maven呢,我想说,要学就学自己不会的,这样才能会的更多,不是吗。
崔笑颜
2020/07/20
2.4K0
【Android Gradle 插件】Gradle 构建生命周期 ② ( Gradle 类的添加构建生命周期监听器函数 | Gradle#addListener 函数 )
org.gradle.api.Project 配置 ( build.gradle 根配置 ) 文档 : https://docs.gradle.org/current/javadoc/org/gradle/api/Project.html
韩曙亮
2023/03/30
7120
Gunicorn运行Python的网站非常简单
Gunicorn运行Python的网站真是非常简单了,这里介绍下django如何使用,和apache复杂配置相比,这个配置少得真不是一个数量级。
星哥玩云
2022/06/29
5150
【Android Gradle 插件】Gradle 基础配置 ② ( Gradle 空白项目构建示例演示 )
在任意一个空白目录 , 创建 build.gradle 构建脚本 , 该脚本是 Gradle 构建的入口 ;
韩曙亮
2023/03/30
5960
【Android Gradle 插件】Gradle 基础配置 ② ( Gradle 空白项目构建示例演示 )
【Android Gradle 插件】Gradle 构建工具简介 ② ( Android 项目构建打包流程 | 构建工具发展 -> 手动配置 -> Ant -> Maven -> Gradle )
① 使用 AAPT 工具 打包资源文件 , 生成 R.java , resources.ap 文件 ;
韩曙亮
2023/03/30
7490
【Android Gradle 插件】Gradle 构建工具简介 ② ( Android 项目构建打包流程 | 构建工具发展 -> 手动配置 -> Ant -> Maven -> Gradle )
Gradle For Android(4)--构建不同的版本
当构建App的时候,通常都会有不同的版本。比如说测试版本,正式版本,Debug版本等等。而这些版本通常有不同的配置,比如说服务器的域名,Log开关,付费开关等等特性。
None_Ling
2018/10/24
2K0
Gradle For Android(4)--构建不同的版本
【Android Gradle 插件】Gradle 构建机制 ① ( 空白工程 Gradle 构建文件 | IntelliJ IDEA 工程构建文件 | Android Studio 工程构建文件 )
Gradle 构建工具 的本质是 Java 应用程序 , 是运行在 Java 虚拟机 上的 ; 在空白的目录中 执行该 Gradle 构建工具 , 可以 生成一系列的构建文件 ;
韩曙亮
2023/03/30
6010
【Android Gradle 插件】Gradle 构建机制 ① ( 空白工程 Gradle 构建文件 | IntelliJ IDEA 工程构建文件 | Android Studio 工程构建文件 )
【Android Gradle 插件】Gradle 构建机制 ④ ( Gradle 构建生命周期 | 初始阶段 | 配置阶段 | 执行阶段 )
Gradle 构建生命周期 完整流程 : 下图中的函数 , 都可以作为 HOOK 点 , 监听拦截 Gradle 的执行流程 ;
韩曙亮
2023/03/30
7500
【Android Gradle 插件】Gradle 构建机制 ④ ( Gradle 构建生命周期 | 初始阶段 | 配置阶段 | 执行阶段 )
gradle构建android项目详解
1、用Gradle构建 1.1 工程结构 如图所示,这是一个不能更普通的Android的Gradle工程了。 根目录下面的settings.gradle当中主要是用来include子模块的,比如我
xiangzhihong
2018/02/01
2.3K0
gradle构建android项目详解

相似问题

gradle构建时间长- Android

07

在中构建非常长的时间

45

颤振非常长的构建时间

18

SSRS“不在”运行需要非常长的时间。

22

Gradle构建非常慢

31
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文