📄 operationfactory.java
字号:
package calculate;
import java.util.HashMap;
import java.util.Map;
import calculate.operations.AddSubstractOperation;
import calculate.operations.AntiOperation;
import calculate.operations.BackspaceOperation;
import calculate.operations.BaseOperation;
import calculate.operations.CEOperation;
import calculate.operations.COperation;
import calculate.operations.EqualOperation;
import calculate.operations.LetterOperation;
import calculate.operations.PercentOperation;
import calculate.operations.SqrtOperation;
public abstract class OperationFactory {
private static Map<String, Operation> operations = new HashMap<String, Operation>();
private static DefaultOperation defaultOperation = new DefaultOperation();
static {
initalOperations();
}
private static void initalOperations() {
operations.put("1", new LetterOperation("1"));
operations.put("2", new LetterOperation("2"));
operations.put("3", new LetterOperation("3"));
operations.put("4", new LetterOperation("4"));
operations.put("5", new LetterOperation("5"));
operations.put("6", new LetterOperation("6"));
operations.put("7", new LetterOperation("7"));
operations.put("8", new LetterOperation("8"));
operations.put("9", new LetterOperation("9"));
operations.put("0", new LetterOperation("0"));
operations.put(".", new LetterOperation("."));
operations.put("+", new BaseOperation("+"));
operations.put("-", new BaseOperation("-"));
operations.put("*", new BaseOperation("*"));
operations.put("/", new BaseOperation("/"));
operations.put("=", new EqualOperation());
operations.put("%", new PercentOperation());
operations.put("sqrt", new SqrtOperation());
operations.put("1/x", new AntiOperation());
operations.put("+/-", new AddSubstractOperation());
operations.put("CE", new CEOperation());
operations.put("C", new COperation());
operations.put("Backspace", new BackspaceOperation());
}
public static Operation getOperation(String input) {
Operation operation = operations.get(input);
if (operation == null) {
return defaultOperation;
}
return operation;
}
private static class DefaultOperation implements Operation {
public void execute(Calculate calculate) {
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -