Java Reference
In-Depth Information
double
double tmp ;
while
while ( scan . hasNext ()) {
iif ( scan . hasNextDouble ()) {
push ( scan . nextDouble ());
} else
else {
String token = scan . next ();
iif ( token . equals ( "+" )) {
// Found + operator, perform it immediately.
push ( pop () + pop ());
} else
else iif ( token . equals ( "-" )) {
// Found - operator, perform it (order matters).
tmp = pop ();
push ( pop () - tmp );
} else
else iif ( token . equals ( "*" )) {
// Multiply is commutative
push ( pop () * pop ());
} else
else iif ( token . equals ( "/" )) {
// Handle division carefully: order matters!
tmp = pop ();
push ( pop () / tmp );
} else
else iif ( token . equals ( "=" )) {
out . println ( peek ());
} else
else {
out . println ( "What's this? " + token );
}
}
}
}
void
void push ( double
double val ) {
s . push ( new
new Double ( val ));
}
double
double pop () {
return
return (( Double ) s . pop ()). doubleValue ();
}
double
double peek () {
return
return (( Double ) s . peek ()). doubleValue ();
}
void
void clearStack () {
s . removeAllElements ();
}
}
Search WWH ::




Custom Search