Advertisement
Guest User

ONP

a guest
Mar 25th, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.26 KB | None | 0 0
  1. public class Onp1 {
  2.  
  3. public static void main(String[] args) {
  4. String[] onp = new String[args.length];
  5. int j = 0;
  6. String[] stack = new String[10];
  7. int stackPosition = -1;
  8. for(String str: args)
  9. {
  10. onp[j] = "";
  11. if(str.endsWith("=")){
  12. for(int i=0; i< str.length(); i++)
  13. if(str.charAt(i) >= '0' && str.charAt(i) <= '9' || str.charAt(i) == '.'){
  14. onp[j] += str.charAt(i);
  15. if(!(str.charAt(i+1) >= '0' && str.charAt(i+1) <= '9' && str.charAt(i+1) == '.'))
  16. onp[j] += " ";
  17. }
  18. else{
  19. switch(str.charAt(i)){
  20. case '-':
  21. case '+':{
  22. while(stackPosition >= 0 && !stack[stackPosition].equals("( ")){
  23. onp[j] += stack[stackPosition] + " ";
  24. --stackPosition;
  25. }
  26. stack[++stackPosition] = str.charAt(i) + " ";
  27. break;
  28. }
  29. case '*':
  30. case '/':{
  31. while(stackPosition >= 0 && !stack[stackPosition].equals("( ") && !stack[stackPosition].equals("- ") && !stack[stackPosition].equals("+ ")){
  32. onp[j] += stack[stackPosition] + " ";
  33. --stackPosition;
  34. }
  35. stack[++stackPosition] = str.charAt(i) + " ";
  36. break;
  37. }
  38. case '^':
  39. while(stackPosition >= 0 && !stack[stackPosition].equals("( ") && !stack[stackPosition].equals("- ") && !stack[stackPosition].equals("+ ") && !stack[stackPosition].equals("* ") && !stack[stackPosition].equals("/ ")){
  40. onp[j] += stack[stackPosition] + " ";
  41. --stackPosition;
  42. }
  43. stack[++stackPosition] = str.charAt(i) + " ";
  44. break;
  45. case '(':
  46. stack[++stackPosition] = str.charAt(i) + " ";
  47. break;
  48. case ')':
  49. while(stackPosition >= 0 && !stack[stackPosition].equals("( ")){
  50. onp[j] += stack[stackPosition] + " ";
  51. --stackPosition;
  52. }
  53. --stackPosition;
  54. break;
  55. case '=':
  56. while(stackPosition >= 0 && !stack[stackPosition].equals("( ")){
  57. onp[j] += stack[stackPosition] + " ";
  58. --stackPosition;
  59. }
  60. onp[j] += str.charAt(i) + " ";
  61. break;
  62. default:
  63. break;
  64. }
  65. }
  66. }
  67. else
  68. System.out.println(str + ": Bledne rownanie");
  69. System.out.println(args[j]);
  70. System.out.println(onp[j]);
  71. j++;
  72. }
  73.  
  74. }
  75.  
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement