Guest User

Untitled

a guest
Jul 23rd, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.75 KB | None | 0 0
  1. import oving2.ArgumentStack;
  2. import java.util.Scanner;
  3.  
  4. void performOperation(char op) {
  5.  
  6. double n1;
  7. double n2;
  8.  
  9. switch (op) {
  10. case '+': n2 = ArgumentStack.pop(0.0);
  11. n1 = ArgumentStack.pop(0.0);
  12. ArgumentStack.push(n1+n2);
  13. break;
  14.  
  15. case '-': n2 = ArgumentStack.pop(0.0);
  16. n1 = ArgumentStack.pop(0.0);
  17. ArgumentStack.push(n1-n2);
  18. break;
  19.  
  20. case '*': n2 = ArgumentStack.pop(1.0);
  21. n1 = ArgumentStack.pop(1.0);
  22. ArgumentStack.push(n1*n2);
  23. break;
  24.  
  25. case '/': n2 = ArgumentStack.pop(1.0);
  26. n1 = ArgumentStack.pop(1.0);
  27. if (n2==0) {
  28. System.out.println("Du kan ikke dele pƄ 0");
  29. break;
  30. }
  31. else {
  32. ArgumentStack.push(n1/n2);
  33. break;
  34. }
  35.  
  36. case ',': ArgumentStack.push(ArgumentStack.peek(0.0));
  37. break;
  38.  
  39. case '.': ArgumentStack.pop(0.0);
  40. break;
  41.  
  42. case '~': if (ArgumentStack.arguments.length>=2) {
  43. n2 = ArgumentStack.pop(0.0);
  44. n1 = ArgumentStack.pop(0.0);
  45. ArgumentStack.push(n1);
  46. ArgumentStack.push(n2);
  47. }
  48. break;
  49.  
  50. default: System.err.println("Ukjent operasjon");
  51. break;
  52. };
  53. }
  54.  
  55. void handleInput(String input) {
  56. char c = input.charAt(0);
  57. if (Character.isDigit(c)) {
  58. double inputDigit = Double.parseDouble(input);
  59. ArgumentStack.push(inputDigit);
  60. }
  61. else {
  62.  
  63. }
  64. performOperation(c);
  65. }
  66.  
  67. void splitAndHandleInput(String input) {
  68. String[] inputSplit = input.split(" ");
  69. for (int i=0; i<inputSplit.length; i++); {
  70. handleInput(inputSplit[i]);
  71. }
  72. }
  73.  
  74. Scanner sc = new Scanner(System.in);
  75.  
  76. while (sc.hasNextLine()) {
  77. String input = sc.nextLine().trim();
  78. if (input.length()==0) {
  79. break;
  80. }
  81. splitAndHandleInput(input);
  82. ArgumentStack.print("{",",","}");
  83. }
Add Comment
Please, Sign In to add comment