Java Reference
In-Depth Information
13 tokenizer =
new
ExpressionTokenizer(anExpression);
14 }
15
16 /**
17
Evaluates the expression.
18 @return
the value of the expression
19 */
20
public int
getExpressionValue()
21 {
22
int
value = getTermValue();
23
boolean
done =
false
;
24
while
(!done)
25 {
26 String next =
tokenizer.peekToken();
27
if
(
"+"
.equals(next) ||
"-"
.equals(next))
28 {
29 tokenizer.nextToken(); //
Discard "+" or "-"
30
int
value2 = getTermValue();
31
if
(
"+"
.equals(next)) value =
value + value2;
32
else
value = value - value2;
33 }
34
else
done = true;
35 }
36
return
value;
37 }
38
39 /**
40
Evaluates the next term found in the expression.
41 @return
the value of the term
42 */
43
public int
getTermValue()
44 {
45
int
value = getFactorValue();
46
boolean
done =
false
;
47
while
(!done)
48 {
614
615