Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- import java.util.Stack;
- public class Main {
- Main(){
- }
- String lineNormalAdnotation(){
- Scanner scanner = new Scanner(System.in);
- System.out.println("podaj rownanie: ");
- String line = scanner.nextLine();
- line.trim();
- return line;
- }
- char[] returnLineInRPN(String line){
- char[] array = line.toCharArray();
- Stack<Character> STACK = new Stack<Character>();
- for(int i = 0 ; i < line.length() ; i++) {
- if(line.charAt(i) == ')'){
- int j = 1;
- char[] signs = new char[j];
- do {
- if(STACK.pop() == '(') STACK.pop();
- else {
- STACK.pop();
- char x = STACK.pop().charValue();
- signs[j] = x;
- j++;
- }
- }while(STACK.contains('('));
- for(int k = j ; k <= 0 ; k--){
- array[i] = signs[k-1];
- signs[k-1] = 0;
- i++;
- }
- }
- else if (Character.isDigit(line.charAt(i))){
- array[i] = line.charAt(i);
- }
- else if(!Character.isDigit(line.charAt(i))){
- if(line.charAt(i) == '('){
- STACK.push(line.charAt(i));
- }
- else {
- array[i] = ' ';
- STACK.push(line.charAt(i));
- }
- }
- }
- do{
- STACK.pop();
- // array += STACK.
- }while (STACK.empty());
- return array;
- }
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- System.out.println("podaj rownanie: ");
- String line = scanner.nextLine();
- line.trim();
- Main main = new Main();
- System.out.println(main.returnLineInRPN(line));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement