[英]implementation of simple calculator
创建一个模拟非常简单的计算器的程序
因此,我被要求实现一个代表二进制(具有2个参数)算术表达式的抽象类
abstract class ArithmeticExpression {
double binary1;
double binary2;
public abstract void evaluate ();
public abstract void display ();
}
因此,我创建了子类加,乘,减和除。 在减去我有:
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() {
}
使用这些类,我应该能够表示任何任意表达式,而无需进行硬编码。
也有人说,评估应将结果返回为double值,并且显示方法应将表达式以字符串形式打印出来。 我在正确的轨道上吗? 我在这里想念什么? 我不了解的部分如何能够表示任何表达式?
如果要评估以以下形式插入的任何支出
4 + 3 * ( 4 + 5)
您需要创建二叉树或堆栈并填充这些值和运算符。
我不太了解的是您所谓的以双精度表示的二进制文件。 如果要使用二进制计算,则应使用unsigned int或long(或任何其他类型,不是浮点数)
使用抽象的ArithmeticExpression,这是Subtract类的外观。 Java类以大写字母开头。
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类中完成。
validate()方法用于评估。
display()方法用于显示。
您无需在Subtract具体类中定义任何其他方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.