Advertisement
Guest User

Untitled

a guest
Dec 22nd, 2014
240
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.41 KB | None | 0 0
  1. public String solveArrayX(String[] tA, double d){
  2.  
  3.  
  4. double r = 0.0;
  5. int spaceSolve = tA.length;
  6. //Log.i("tA.length", Integer.toString(spaceSolve));
  7. boolean thingsToSolve = true;
  8. while(thingsToSolve){
  9. int solvePos = 0;
  10. String sign = "n";
  11. for(int i = 0; i < spaceSolve-1; i++){
  12. String s = tA[i];
  13. if(s.equals("^")){
  14. solvePos = i;
  15. sign = "^";
  16. i = spaceSolve;
  17. }
  18. }
  19. if(sign.equals("n")){//if wasnt found in first pass
  20. for(int i = 0; i < spaceSolve-1; i++){
  21. String s = tA[i];
  22. if(s.equals("*")){
  23. solvePos = i;
  24. sign = "*";
  25. i = spaceSolve;
  26. }
  27. if(s.equals("/")){
  28. solvePos = i;
  29. sign = "/";
  30. i = spaceSolve;
  31. }
  32. }
  33. }
  34. if(sign.equals("n")){//if wasnt found in 2nd pass
  35. for(int i = 0; i < spaceSolve-1; i++){
  36. String s = tA[i];
  37. if(s.equals("+")){
  38. solvePos = i;
  39. sign = "+";
  40. i = spaceSolve;
  41. }
  42. if(s.equals("-") && i != 0){
  43. solvePos = i;
  44. sign = "-";
  45. i = spaceSolve;
  46. }
  47. }
  48. }
  49. if(!sign.equals("n")){//if was found in a pass, solve the found
  50. //Log.i("solvePos", Integer.toString(solvePos));
  51. //Log.i("tA.length", Integer.toString(tA.length));
  52. //Log.i("sign", sign);
  53. String $a = tA[solvePos-1];
  54. String $b = tA[solvePos+1];
  55. if($a.equals("x")){
  56. $a = Double.toString(d);
  57. }
  58. if($b.equals("x")){
  59. $b = Double.toString(d);
  60. }
  61. String $c = "";
  62. double a = 0.0;
  63. //Log.i("solveA", Double.toString(a));
  64. double b = 0.0;
  65.  
  66. try{
  67. a = Double.parseDouble( detVal($a)[0] );
  68. }
  69. catch(Exception e)
  70. {
  71. //sV = Double.parseDouble(sT[0].replaceAll("[^0-9.]", ""));
  72. }
  73. try{
  74. b = Double.parseDouble( detVal($b)[0] );
  75. }
  76. catch(Exception e)
  77. {
  78. //sV = Double.parseDouble(sT[0].replaceAll("[^0-9.]", ""));
  79. }
  80. double c = 0.0;
  81. if(sign.equals("^")){
  82. //Log.i("^^^", tA[solvePos-1] + " ^ " + tA[solvePos+1]);
  83. $c = doAlgnew($a,"^",$b);
  84. }
  85. if(sign.equals("*")){
  86. //Log.i("***", tA[solvePos-1] + " * " + tA[solvePos+1]);
  87. //c = a * b;
  88. $c = doAlgnew($a,"*",$b);
  89. }
  90. if(sign.equals("/")){
  91. //Log.i("///", tA[solvePos-1] + " / " + tA[solvePos+1]);
  92. //c = a / b;
  93. if( Integer.parseInt($b) != 0){
  94. $c = doAlgnew($a,"/",$b);
  95. }else{
  96. $c = "0";
  97. }
  98. }
  99. if(sign.equals("+")){
  100. //Log.i("+++", tA[solvePos-1] + " + " + tA[solvePos+1]);
  101. //c = a + b;
  102. $c = doAlgnew($a,"+",$b);
  103. }
  104. if(sign.equals("-")){
  105. //Log.i("---", tA[solvePos-1] + " - " + tA[solvePos+1]);
  106. $c = doAlgnew($a,"-",$b);
  107. //c = a - b;
  108. }
  109. tA[solvePos-1] = $c;//Double.toString(c);
  110. tA[solvePos] = "";
  111. tA[solvePos+1] = "";
  112. String be = "";
  113. for(int i = 0; i<tA.length;i++){
  114. be = be + tA[i];
  115. }
  116. //Log.i("theEquation", be);
  117.  
  118. if( !(solvePos+3>tA.length) ){
  119. for(int i = solvePos; i < tA.length-2; i++){
  120. tA[i] = tA[i+2];
  121. tA[i+2] = "";
  122. }
  123. }
  124. be = "";
  125. for(int i = 0; i<tA.length;i++){
  126. be = be + tA[i];
  127. }
  128. //Log.i("theEquationafter", be);
  129. }else{//else the equation is over
  130. thingsToSolve = false;
  131. }
  132. }
  133. return tA[0];
  134. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement