Advertisement
Guest User

Untitled

a guest
Mar 21st, 2019
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.99 KB | None | 0 0
  1. import java.util.Scanner;
  2. import java.util.Stack;
  3.  
  4. public class Main {
  5.  
  6. Main(){
  7.  
  8. }
  9. String lineNormalAdnotation(){
  10. Scanner scanner = new Scanner(System.in);
  11. System.out.println("podaj rownanie: ");
  12. String line = scanner.nextLine();
  13. line.trim();
  14. return line;
  15. }
  16.  
  17. char[] returnLineInRPN(String line){
  18.  
  19. char[] array = line.toCharArray();
  20. Stack<Character> STACK = new Stack<Character>();
  21. for(int i = 0 ; i < line.length() ; i++) {
  22. if(line.charAt(i) == ')'){
  23. int j = 1;
  24. char[] signs = new char[j];
  25. do {
  26. if(STACK.pop() == '(') STACK.pop();
  27. else {
  28. STACK.pop();
  29. char x = STACK.pop().charValue();
  30. signs[j] = x;
  31. j++;
  32. }
  33. }while(STACK.contains('('));
  34. for(int k = j ; k <= 0 ; k--){
  35. array[i] = signs[k-1];
  36. signs[k-1] = 0;
  37. i++;
  38. }
  39. }
  40. else if (Character.isDigit(line.charAt(i))){
  41. array[i] = line.charAt(i);
  42. }
  43. else if(!Character.isDigit(line.charAt(i))){
  44. if(line.charAt(i) == '('){
  45. STACK.push(line.charAt(i));
  46. }
  47. else {
  48. array[i] = ' ';
  49. STACK.push(line.charAt(i));
  50. }
  51. }
  52. }
  53. do{
  54. STACK.pop();
  55. // array += STACK.
  56. }while (STACK.empty());
  57. return array;
  58. }
  59.  
  60. public static void main(String[] args) {
  61.  
  62.  
  63. Scanner scanner = new Scanner(System.in);
  64. System.out.println("podaj rownanie: ");
  65. String line = scanner.nextLine();
  66. line.trim();
  67. Main main = new Main();
  68.  
  69. System.out.println(main.returnLineInRPN(line));
  70.  
  71.  
  72.  
  73.  
  74.  
  75. }
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement