Guest User

Untitled

a guest
Jan 12th, 2018
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.15 KB | None | 0 0
  1. /**
  2. *
  3. * @author Skoczek Kacper S15532
  4. *
  5. */
  6.  
  7. package zad1;
  8.  
  9. import java.lang.reflect.Method;
  10. import java.math.BigDecimal;
  11. import java.math.MathContext;
  12. import java.util.HashMap;
  13.  
  14. public class Calc {
  15.  
  16. HashMap<String, BigDecimal> calc = new HashMap<>();
  17. private MathContext mc = new MathContext(7);
  18. Class<?> c = getClass();
  19. Method m = null;
  20. BigDecimal l1;
  21. BigDecimal l2;
  22.  
  23. public Calc() {
  24. calc.put("+", dodawanie());
  25. calc.put("-", odejmowanie());
  26. calc.put("*", mnozenie());
  27. calc.put("/", dzielenie());
  28. }
  29.  
  30. public BigDecimal dodawanie() {
  31. return l1.add(l2);
  32. }
  33.  
  34. public BigDecimal odejmowanie() {
  35. return l1.subtract(l2);
  36. }
  37.  
  38. public BigDecimal mnozenie() {
  39. return l1.multiply(l2, mc);
  40. }
  41.  
  42. public BigDecimal dzielenie() {
  43. return l1.divide(l2, mc);
  44. }
  45.  
  46. public String doCalc(String cmd) {
  47. // TODO Auto-generated method stub
  48. try {
  49. String[] s = cmd.split("\\s+");
  50. l1 = new BigDecimal(s[0]);
  51. l2 = new BigDecimal(s[2]);
  52. m = c.getMethod(s[1]);
  53. return m.toString();
  54. } catch (Exception e) {
  55. return "Invalid command to calc";
  56. }
  57. }
  58. }
Advertisement
Add Comment
Please, Sign In to add comment