ひと通りの演算子

加算、減算、乗算、除算演算子をどどんと。これで四則演算ができますね。(実際はそれぞれファイル分ける)

加算、減算、乗算、除算演算子をどどんと。これで四則演算ができますね。(実際はそれぞれファイル分ける)

  • タグ:
  • タグはありません
/**
*
*/
public class Add implements Node {
private Node left;
private Node right;
public Add(Node left, Node right) {
this.left = left;
this.right = right;
}
@Override
public Node evaluation() {
left = left.evaluation();
right = right.evaluation();
double result = ((Numeric)left).getValue() + ((Numeric)right).getValue();
return new Numeric(result);
}
}
/**
*
*/
public class Sub implements Node {
private Node left;
private Node right;
public Sub(Node left, Node right) {
this.left = left;
this.right = right;
}
@Override
public Node evaluation() {
left = left.evaluation();
right = right.evaluation();
double result = ((Numeric)left).getValue() - ((Numeric)right).getValue();
return new Numeric(result);
}
}
/**
*
*/
public class Multi implements Node {
private Node left;
private Node right;
public Multi(Node left, Node right) {
this.left = left;
this.right = right;
}
@Override
public Node evaluation() {
left = left.evaluation();
right = right.evaluation();
double result = ((Numeric)left).getValue() * ((Numeric)right).getValue();
return new Numeric(result);
}
}
/**
*
*/
public class Div implements Node {
private Node left;
private Node right;
public Div(Node left, Node right) {
this.left = left;
this.right = right;
}
@Override
public Node evaluation() {
left = left.evaluation();
right = right.evaluation();
double result = ((Numeric)left).getValue() / ((Numeric)right).getValue();
return new Numeric(result);
}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX