Advertisement
fensa08

[APS] Matemticki Izraz

Sep 17th, 2019
608
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.68 KB | None | 0 0
  1. Математички израз Problem 8 (5 / 7)
  2.  
  3. Да се напише алгоритам кој ќе пресметува (евалуира) математички израз составен од броеви и операциите за собирање (+) и множење (*).
  4.  
  5. Забелешка: Операцијата множење има предност пред операцијата собирање.
  6.  
  7. Име на класата: ExpressionEvaluator
  8.  
  9. =======================================================================================================================================
  10.  
  11. import java.io.BufferedReader;
  12. import java.io.IOException;
  13. import java.io.InputStreamReader;
  14. import java.util.Stack;
  15.  
  16. public class ExpressionEvaluator {
  17.  
  18.     // gi rascepkuvam tie elementi so se za sobiranje kako posebni, dodeka tie so se za
  19.     // za mnozenje kje se vo 1 elementi, koj kje bide posle izmnozen
  20.  
  21.     public static void main(String[] args) throws IOException {
  22.  
  23.       BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
  24.       String line = in.readLine();
  25.       String []arr = line.split("\\+");
  26.  
  27.       for(int i = 0; i < arr.length;i++){
  28.  
  29.           if(arr.length > 1){ // ima elementi za mnozenje
  30.               String linija[] = arr[i].split("\\*");
  31.               int counter = 1;
  32.               for(int j = 0; j < linija.length;j++){
  33.                   counter = counter * Integer.parseInt(linija[j]);
  34.               }
  35.               arr[i] = "" +counter; // parsiram u string
  36.           }
  37.       }
  38.  
  39.       int sum = 0;
  40.       for(String s : arr){
  41.           sum += Integer.parseInt(s);
  42.       }
  43.         System.out.println(sum);
  44.  
  45. }
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement