Advertisement
Guest User

[Java][AПС]Математички израз

a guest
Aug 20th, 2019
1,487
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.33 KB | None | 0 0
  1. Да се напише алгоритам кој ќе пресметува (евалуира) математички израз составен од броеви и операциите за собирање (+) и множење (*).
  2.  
  3. Забелешка: Операцијата множење има предност пред операцијата собирање.
  4.  
  5. import java.io.BufferedReader;
  6. import java.io.IOException;
  7. import java.io.InputStreamReader;
  8. import java.util.Stack;
  9.  
  10. public class ExpressionEvaluator {
  11.  
  12.     public static int evaluateExpression(String expression) {
  13.         String  [] broevi = expression.split("\\+");
  14.         Stack<Integer> stack = new Stack<>();
  15.         int rez=0;
  16.  
  17.         for (int i=0;i<broevi.length;i++) {
  18.             int proizvod = 1;
  19.             String [] zaMnozenje = broevi[i].split("\\*");
  20.             for (int j=0;j<zaMnozenje.length;j++) {
  21.                 proizvod*= Integer.parseInt(zaMnozenje[j]);
  22.             }
  23.             stack.push(proizvod);
  24.         }
  25.         while (!stack.isEmpty()) {
  26.             rez+=stack.pop();
  27.         }
  28.     return rez;
  29.     }
  30.     public static void main(String[] args) throws IOException {
  31.         BufferedReader input=new BufferedReader(new InputStreamReader(System.in));
  32.         System.out.println(evaluateExpression(input.readLine()));
  33.     }
  34.  
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement