daily pastebin goal
37%
SHARE
TWEET

Untitled

a guest Mar 21st, 2019 47 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top