Advertisement
Guest User

Untitled

a guest
Oct 31st, 2014
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.46 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.List;
  3. import java.util.Scanner;
  4. import java.util.Stack;
  5. import java.util.StringTokenizer;
  6.  
  7.  
  8. public class DataCreate {
  9.  
  10. private Stack<String> myStack = new Stack<String>();
  11. private List<String> myList = new ArrayList<String>();
  12. private List<String> endList = new ArrayList<String>();
  13.  
  14. public DataCreate(String operation)
  15. {
  16. StringTokenizer st = new StringTokenizer(operation,"*/+-",true);
  17. while(st.hasMoreTokens())
  18. {
  19. myList.add(st.nextToken());
  20. }
  21.  
  22. for(String object: myList)
  23. {
  24. //System.out.println(object);
  25. if(object.equalsIgnoreCase("+")||object.equalsIgnoreCase("-")||object.equalsIgnoreCase("*")||object.equalsIgnoreCase("/"))
  26. {
  27. if(myStack.isEmpty())
  28. myStack.push(object);
  29. else
  30. {
  31. if(compareOperator(object) > compareOperator(myStack.lastElement()))
  32. myStack.push(object);
  33. else
  34. {
  35. endList.add(object);
  36. myStack.push(object);
  37. }
  38. }
  39. }
  40. else
  41. endList.add(object);
  42. }
  43.  
  44. //System.out.println(checkStack());
  45. wypisz();
  46. }
  47.  
  48. public int compareOperator(String operation)
  49. {
  50. if(operation.equals("+") || operation.equals("-") || operation.equals("*") || operation.equals("/"))
  51. {
  52. if(operation.equals("+") || operation.equals("-"))
  53. return 1;
  54. else
  55. return 2;
  56. }
  57. else
  58. return -1;
  59. }
  60.  
  61. public void wypisz()
  62. {
  63. for(String object: endList)
  64. System.out.println(object);
  65. }
  66.  
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement