Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package edu.brcc.maxfieldj.RPNCalc;
- import edu.brcc.maxfieldj.ch21Lab.GenericLinkedStack;
- public class RPNCalc
- {
- GenericLinkedStack<Double> st = new GenericLinkedStack();
- public boolean enterNumber(double num)
- {
- this.st.push(Double.valueOf(num));
- return true;
- }
- public double add()
- {
- double no1 = this.st.empty() ? 0.0D : ((Double)this.st.pop()).doubleValue();
- double no2 = this.st.empty() ? 0.0D : ((Double)this.st.pop()).doubleValue();
- double no3 = no2 + no1;
- this.st.push(Double.valueOf(no3));
- return no3;
- }
- public double subtract()
- {
- double no1 = this.st.empty() ? 0.0D : ((Double)this.st.pop()).doubleValue();
- double no2 = this.st.empty() ? 0.0D : ((Double)this.st.pop()).doubleValue();
- double no3 = no2 - no1;
- this.st.push(Double.valueOf(no3));
- return no3;
- }
- public double multiply()
- {
- double no1 = this.st.empty() ? 0.0D : ((Double)this.st.pop()).doubleValue();
- double no2 = this.st.empty() ? 0.0D : ((Double)this.st.pop()).doubleValue();
- double no3 = no2 * no1;
- this.st.push(Double.valueOf(no3));
- return no3;
- }
- public double divide()
- {
- double no1 = this.st.empty() ? 0.0D : ((Double)this.st.pop()).doubleValue();
- double no2 = this.st.empty() ? 0.0D : ((Double)this.st.pop()).doubleValue();
- double no3 = no2 / no1;
- this.st.push(Double.valueOf(no3));
- return no3;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement