Exception in thread "main" java.lang.NumberFormatException: For input string: "("
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:569)
at java.lang.Integer.parseInt(Integer.java:615)
at collection.MyExpressionTrees.evaluateHelper(MyExpressionTrees.java:58)
at collection.MyExpressionTrees.evaluateHelper(MyExpressionTrees.java:78)
at collection.MyExpressionTrees.evaluate(MyExpressionTrees.java:50)
public class MyExpressionTrees extends MyBinaryTree {
public MyExpressionTrees() {
root = null;
}
public MyExpressionTrees(MyBinaryTreeNode rt) {
root = rt;
}
public int evaluate() {
if (root == null) {
return -1000000;
}
return evaluateHelper(root);
}
private int evaluateHelper(MyBinaryTreeNode rt) {
if (rt.left == null) {
return Integer.parseInt(rt.data.toString());
}
switch (rt.data.toString()) {
case "+":
return evaluateHelper(rt.left) + evaluateHelper(rt.right);
case "-":
return evaluateHelper(rt.left) - evaluateHelper(rt.right);
case "/":
return evaluateHelper(rt.left) / evaluateHelper(rt.right);
case "*":
return evaluateHelper(rt.left) * evaluateHelper(rt.right);
case "%":
return evaluateHelper(rt.left) % evaluateHelper(rt.right);
default:
return -1000000;
}
}
}
result = exTree.evaluate();