package net.sven_eisenhauer.swa_prakt1; public class ArithmeticRunner { /** * @param args */ public static void main(String[] args) { ArithmeticVariable a = new ArithmeticVariable("a", 2); ArithmeticVariable b = new ArithmeticVariable("b", 77); ArithmeticVariable c = new ArithmeticVariable("c", 0.1); ArithmeticVariable d = new ArithmeticVariable("d", 0.00003); ArithmeticExpression aAddb = new ArithmeticAddition(a,b); ArithmeticExpression aSubc = new ArithmeticSubstraction(a,c); ArithmeticExpression bMuld = new ArithmeticMultiplication(b, d); ArithmeticExpression ae1 = new ArithmeticMultiplication(aAddb, aSubc); ArithmeticExpression ae2 = new ArithmeticSubstraction(bMuld, a); ArithmeticExpression root = new ArithmeticAddition(ae1, ae2); /* try { root.print(); System.out.println("\nResult: "+root.evaluate()); } catch (Throwable t) { t.printStackTrace(); } */ try {/* ArithmeticIterator iter = new ExpressionIterator(root); iter.print(); System.out.println("\n"); iter = new ExpressionIterator(root); System.out.println("\nEvaluate: "+iter.evaluate()+"\n"); */ new PrintIter().traverse(root); System.out.println("\n"+new EvalIter().traverse(root)); } catch (Throwable t) { t.printStackTrace(); } } }