定义一个Calculator类,加入执行命令的方法。 publicintcalculate(Command command) {returncommand.execute(); } 测试代码 @TestpublicvoidwhenCalculateUsingCommand_thenReturnCorrectResult() { Calculator calculator=newCalculator();intresult = calculator.calculate(newAddCommand(3, 7)); assertEquals(10, result); ...
封装Operator到Calculator.java publicintcalculate(inta,intb, Operator operator) {returnoperator.apply(a, b); } 使用示例 @TestpublicvoidwhenCalculateUsingEnumOperator_thenReturnCorrectResult() { Calculator calculator=newCalculator();intresult = calculator.calculate(3, 4, Operator.valueOf("ADD")); asser...
在Calculator中调用 publicintcalculate(inta,intb,Operatoroperator){returnoperator.apply(a,b);} 写个测试用例测试下: @TestpublicvoidwhenCalculateUsingEnumOperator_thenReturnCorrectResult(){Calculatorcalculator=newCalculator();intresult=calculator.calculate(3,4,Operator.valueOf("ADD"));assertEquals(7,result)...
最后,让我们在Calculator类中定义一个用于接收操作和执行操作的新方法: public int calculate(Command command) { return command.execute(); } 1. 2. 3. 通过实例化AddCommand对象并且将他作为参数传递到Calculator#calculate方法当中用以调用计算方法: @Test public void whenCalculateUsingCommand_thenReturnCorrectResu...
// This is Java using the CalculatorString s ="((5 * 10) + 7)";doubleresult = com.tedneward.calcdsl.Calculator.evaluate(s);System.out.println("We got "+ result);// Should be 57 1. 2. 3. 4. 我们不会在一篇文章完成所有的论述,但是我们在本篇文章中可以学习到一部分内容,在下一篇文...
Create a Simple Calculator Using the Java switch Statement Flowchart of switch Statement Flow chart of the Java switch statement break Statement in Java switch...case Notice that we have been using break in each case block. ... case 29: size = "Small"; break; ... The break statement...
Calculator(const vector<int>& exp) :_infix(exp) { } int Count() { Transition(); stack<int> num; int n = _exp.size(); for (int i = 0; i < n;i++) { Cell cur = _exp[i]; if (cur._type == OP_NUM) { num.push(cur._value); ...
now, in the calculator class, we can query the factory to get the relevant operation and apply on the source numbers: public int calculateusingfactory(int a, int b, string operator) { operation targetoperation = operatorfactory .getoperation(operator) .orelsethrow(() -> new illegalargument...
class Calculator { public int add(int a, int b) { return a + b; } public double add(double a, double b) { return a + b; } } public class Test { public static void main(String[] args) { Calculator calculator = new Calculator(); int result1 = calculator.add(2, 3); // 调用...
display.setText(String.valueOf(number));operator = key;isFirstDigit = true;}public static void main(String[] args) {new JCalculator();}}运行界面:package swing;import java.awt.*;import java.awt.event.*;import javax.swing.*;@SuppressWarnings("serial")public class Calculator ...