📄 plus.java
字号:
import java.util.Vector;public class Plus extends Expression { private Expression[] addends; public Plus(Expression[] a) { addends = new Expression[a.length]; for(int i=0;i<a.length;i++) addends[i] = (Expression)a[i].clone(); } public Expression[] getAddends() { return addends; } public Object clone() { return new Plus(addends); } public Expression eval() { Expression[] result = new Expression[addends.length]; for(int i=0;i<addends.length;i++) result[i] = addends[i].eval(); return new Plus(result); } public String toString() { StringBuffer result = new StringBuffer("("); result.append(addends[0].toString()); for(int i=1;i<addends.length;i++) { result.append("+"); result.append(addends[i].toString()); } result.append(")"); return result.toString(); } public Expression derive(Symbol s) { Expression[] result = new Expression[addends.length]; for(int i=0;i<addends.length;i++) result[i] = addends[i].derive(s); return new Plus(result); } public boolean equals(Expression ex) { if(!(ex instanceof Plus)) return false; Plus p = (Plus)ex; Expression eadd[] = p.getAddends(); if(eadd.length == addends.length) { boolean ret = true; for(int i=0;i<addends.length;i++) if(!(eadd[i].equals(addends[i]))) { ret = false; //break; } return ret; } else return false; } public Expression simplify() { Vector v = new Vector(); for(int i=0;i<addends.length;i++) { if(!((addends[i].simplify()).equals(new NumericValue(0.0)))) v.add(addends[i].simplify()); } Expression simplAddends[] = new Expression[v.size()]; for(int i=0;i<v.size();i++) simplAddends[i] = (Expression) v.get(i); return new Plus(simplAddends); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -