package net.sven_eisenhauer.swa_prakt1; public class ArithmeticDivision extends ArithmeticOperation { public ArithmeticDivision(ArithmeticExpression operand1, ArithmeticExpression operand2) { super(operand1, operand2); operationSign="/"; } /* public Number evaluate() { Number res = null; Number num1 = operand1.evaluate(); Number num2 = operand2.evaluate(); if(num1 instanceof Integer && num2 instanceof Integer) { res = num1.intValue() / num2.intValue(); } else if(num1 instanceof Integer && num2 instanceof Long) { res = num1.intValue() / num2.longValue(); } else if(num1 instanceof Integer && num2 instanceof Short) { res = num1.intValue() / num2.shortValue(); } else if(num1 instanceof Integer && num2 instanceof Float) { res = num1.intValue() / num2.floatValue(); } else if(num1 instanceof Integer && num2 instanceof Double) { res = num1.intValue() / num2.doubleValue(); } else if(num1 instanceof Integer && num2 instanceof Byte) { res = num1.intValue() / num2.byteValue(); } else if(num1 instanceof Byte && num2 instanceof Long) { res = num1.byteValue() / num2.longValue(); } else if(num1 instanceof Byte && num2 instanceof Short) { res = num1.byteValue() / num2.shortValue(); } else if(num1 instanceof Byte && num2 instanceof Float) { res = num1.byteValue() / num2.floatValue(); } else if(num1 instanceof Byte && num2 instanceof Double) { res = num1.byteValue() / num2.doubleValue(); } else if(num1 instanceof Byte && num2 instanceof Byte) { res = num1.byteValue() / num2.byteValue(); } else if(num1 instanceof Byte && num2 instanceof Integer) { res = num1.byteValue() / num2.intValue(); } else if(num1 instanceof Short && num2 instanceof Long) { res = num1.shortValue() / num2.longValue(); } else if(num1 instanceof Short && num2 instanceof Short) { res = num1.shortValue() / num2.shortValue(); } else if(num1 instanceof Short && num2 instanceof Float) { res = num1.shortValue() / num2.floatValue(); } else if(num1 instanceof Short && num2 instanceof Double) { res = num1.shortValue() / num2.doubleValue(); } else if(num1 instanceof Short && num2 instanceof Byte) { res = num1.shortValue() / num2.byteValue(); } else if(num1 instanceof Short && num2 instanceof Integer) { res = num1.shortValue() / num2.intValue(); } else if(num1 instanceof Long && num2 instanceof Long) { res = num1.longValue() / num2.longValue(); } else if(num1 instanceof Long && num2 instanceof Short) { res = num1.longValue() / num2.shortValue(); } else if(num1 instanceof Long && num2 instanceof Float) { res = num1.longValue() / num2.floatValue(); } else if(num1 instanceof Long && num2 instanceof Double) { res = num1.longValue() / num2.doubleValue(); } else if(num1 instanceof Long && num2 instanceof Byte) { res = num1.longValue() / num2.byteValue(); } else if(num1 instanceof Long && num2 instanceof Integer) { res = num1.longValue() / num2.intValue(); } else if(num1 instanceof Float && num2 instanceof Long) { res = num1.floatValue() / num2.longValue(); } else if(num1 instanceof Float && num2 instanceof Short) { res = num1.floatValue() / num2.shortValue(); } else if(num1 instanceof Float && num2 instanceof Float) { res = num1.floatValue() / num2.floatValue(); } else if(num1 instanceof Float && num2 instanceof Double) { res = num1.floatValue() / num2.doubleValue(); } else if(num1 instanceof Float && num2 instanceof Byte) { res = num1.floatValue() / num2.byteValue(); } else if(num1 instanceof Float && num2 instanceof Integer) { res = num1.floatValue() / num2.intValue(); } else if(num1 instanceof Double && num2 instanceof Long) { res = num1.doubleValue() / num2.longValue(); } else if(num1 instanceof Double && num2 instanceof Short) { res = num1.doubleValue() / num2.shortValue(); } else if(num1 instanceof Double && num2 instanceof Float) { res = num1.doubleValue() / num2.floatValue(); } else if(num1 instanceof Double && num2 instanceof Double) { res = num1.doubleValue() / num2.doubleValue(); } else if(num1 instanceof Double && num2 instanceof Byte) { res = num1.doubleValue() / num2.byteValue(); } else if(num1 instanceof Double && num2 instanceof Integer) { res = num1.doubleValue() / num2.intValue(); } return res; }*/ @Override public Number doOperation(Number opLeft, Number opRight) { return opLeft.doubleValue()/opRight.doubleValue(); } }