Advertisement
Guest User

Untitled

a guest
Nov 26th, 2014
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.42 KB | None | 0 0
  1. package edu.brcc.maxfieldj.RPNCalc;
  2.  
  3. import edu.brcc.maxfieldj.ch21Lab.GenericLinkedStack;
  4.  
  5. public class RPNCalc
  6. {
  7. GenericLinkedStack<Double> st = new GenericLinkedStack();
  8.  
  9. public boolean enterNumber(double num)
  10. {
  11. this.st.push(Double.valueOf(num));
  12. return true;
  13. }
  14.  
  15. public double add()
  16. {
  17. double no1 = this.st.empty() ? 0.0D : ((Double)this.st.pop()).doubleValue();
  18. double no2 = this.st.empty() ? 0.0D : ((Double)this.st.pop()).doubleValue();
  19. double no3 = no2 + no1;
  20. this.st.push(Double.valueOf(no3));
  21. return no3;
  22. }
  23.  
  24. public double subtract()
  25. {
  26. double no1 = this.st.empty() ? 0.0D : ((Double)this.st.pop()).doubleValue();
  27. double no2 = this.st.empty() ? 0.0D : ((Double)this.st.pop()).doubleValue();
  28. double no3 = no2 - no1;
  29. this.st.push(Double.valueOf(no3));
  30. return no3;
  31. }
  32.  
  33. public double multiply()
  34. {
  35. double no1 = this.st.empty() ? 0.0D : ((Double)this.st.pop()).doubleValue();
  36. double no2 = this.st.empty() ? 0.0D : ((Double)this.st.pop()).doubleValue();
  37. double no3 = no2 * no1;
  38. this.st.push(Double.valueOf(no3));
  39. return no3;
  40. }
  41.  
  42. public double divide()
  43. {
  44. double no1 = this.st.empty() ? 0.0D : ((Double)this.st.pop()).doubleValue();
  45. double no2 = this.st.empty() ? 0.0D : ((Double)this.st.pop()).doubleValue();
  46. double no3 = no2 / no1;
  47. this.st.push(Double.valueOf(no3));
  48. return no3;
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement