Advertisement
Guest User

asdasdasdasdasda

a guest
Oct 31st, 2014
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.45 KB | None | 0 0
  1. import java.io.BufferedReader;
  2. import java.io.InputStreamReader;
  3. import java.util.NoSuchElementException;
  4. import java.util.Stack;
  5.  
  6.  
  7.  
  8. public class PostFixEvaluation {
  9.  
  10. static int presmetaj(String s[]){
  11. Stack<String> stek = new Stack<String>();
  12. int a =0;
  13. int b =0;
  14. int rezultat = 0;
  15. for(int i = 0 ; i< s.length; i++){
  16. //System.out.println(stek+" stekce");
  17. if(s[i].equals("+") || s[i].equals("-") || s[i].equals("*") || s[i].equals("/")){
  18. // System.out.println("vleze vo if ");
  19. String znak = s[i];
  20. // System.out.println(znak+"znakce");
  21. a = Integer.parseInt(stek.pop());
  22. b = Integer.parseInt(stek.pop());
  23. // System.out.println(a+"<a "+b+"<b ");
  24. switch(znak){
  25. case"+": stek.push(Integer.toString(a+b));break;
  26.  
  27. case"-": stek.push(Integer.toString(b-a));break;
  28.  
  29. case"*": stek.push(Integer.toString(a*b));break;
  30.  
  31. case"/": stek.push(Integer.toString(b/a));break;
  32. }
  33. // System.out.println(stek);
  34. }
  35. else stek.push(s[i]);
  36. }
  37. return rezultat=Integer.parseInt(stek.pop());
  38. }
  39.  
  40. public static void main(String[] args) throws Exception{
  41.  
  42. BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  43.  
  44. String expression = br.readLine();
  45. String exp[] = expression.split(" ");
  46.  
  47. int rez = presmetaj(exp);
  48. System.out.println(rez);
  49.  
  50.  
  51. br.close();
  52.  
  53. }
  54.  
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement