public static MathExpression makeExpression(StringTokenizer token){
MathExpression total;
if(token.hasMoreTokens() != true)
return null;
else{
String temp;
String express = "+-*/";
temp = token.nextToken();
if(temp.length() == 1 && express.indexOf(temp) >= 0){
switch(temp){
case "+" : total = new MathBinaryExpression.AddExpression(makeExpression(token), makeExpression(token));
break;
case "-" : total = new MathBinaryExpression.SubExpression(makeExpression(token), makeExpression(token));
break;
case "*" : total = new MathBinaryExpression.MultExpression(makeExpression(token), makeExpression(token));
break;
case "/" : total = new MathBinaryExpression.DivExpression(makeExpression(token), makeExpression(token));
break;
}
}
}
return total;
}
My compiler tells me that when I return total, it is wrong and uninitialized. But aren't I initializing it inside of my switch statement?
Please let me know how I can fix this and what I am doing wrong.