Advertisement
Guest User

Untitled

a guest
Dec 8th, 2019
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.23 KB | None | 0 0
  1. package expression;
  2.  
  3. public class Const implements AbstractExpression {
  4.     private final Number value;
  5.  
  6.     public Const(int value) {
  7.         this.value = value;
  8.     }
  9.  
  10.     public Const(double value) {
  11.         this.value = value;
  12.     }
  13.  
  14.     @Override
  15.     public int evaluate(int value) {
  16.         return this.value.intValue();
  17.     }
  18.  
  19.     @Override
  20.     public double evaluate(double value) {
  21.         return this.value.doubleValue();
  22.     }
  23.  
  24.     @Override
  25.     public int evaluate(int x, int y, int z) {
  26.         return this.value.intValue();
  27.     }
  28.  
  29.     @Override
  30.     public String toString() {
  31.         if (value instanceof Integer) {
  32.             return Integer.toString(value.intValue());
  33.         } else {
  34.             return Double.toString(value.doubleValue());
  35.         }
  36.     }
  37.  
  38.     public String toMiniString() {
  39.         return toString();
  40.     }
  41.  
  42.     @Override
  43.     public int getPriority() {
  44.         return 0;
  45.     }
  46.  
  47.     @Override
  48.     public boolean equals(Object expression) {
  49.         if (expression == null) {
  50.             return false;
  51.         }
  52.         return toString().equals(expression.toString());
  53.     }
  54.  
  55.     @Override
  56.     public int hashCode() {
  57.         return toString().hashCode();
  58.     }
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement