Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public String solveArrayX(String[] tA, double d){
- double r = 0.0;
- int spaceSolve = tA.length;
- //Log.i("tA.length", Integer.toString(spaceSolve));
- boolean thingsToSolve = true;
- while(thingsToSolve){
- int solvePos = 0;
- String sign = "n";
- for(int i = 0; i < spaceSolve-1; i++){
- String s = tA[i];
- if(s.equals("^")){
- solvePos = i;
- sign = "^";
- i = spaceSolve;
- }
- }
- if(sign.equals("n")){//if wasnt found in first pass
- for(int i = 0; i < spaceSolve-1; i++){
- String s = tA[i];
- if(s.equals("*")){
- solvePos = i;
- sign = "*";
- i = spaceSolve;
- }
- if(s.equals("/")){
- solvePos = i;
- sign = "/";
- i = spaceSolve;
- }
- }
- }
- if(sign.equals("n")){//if wasnt found in 2nd pass
- for(int i = 0; i < spaceSolve-1; i++){
- String s = tA[i];
- if(s.equals("+")){
- solvePos = i;
- sign = "+";
- i = spaceSolve;
- }
- if(s.equals("-") && i != 0){
- solvePos = i;
- sign = "-";
- i = spaceSolve;
- }
- }
- }
- if(!sign.equals("n")){//if was found in a pass, solve the found
- //Log.i("solvePos", Integer.toString(solvePos));
- //Log.i("tA.length", Integer.toString(tA.length));
- //Log.i("sign", sign);
- String $a = tA[solvePos-1];
- String $b = tA[solvePos+1];
- if($a.equals("x")){
- $a = Double.toString(d);
- }
- if($b.equals("x")){
- $b = Double.toString(d);
- }
- String $c = "";
- double a = 0.0;
- //Log.i("solveA", Double.toString(a));
- double b = 0.0;
- try{
- a = Double.parseDouble( detVal($a)[0] );
- }
- catch(Exception e)
- {
- //sV = Double.parseDouble(sT[0].replaceAll("[^0-9.]", ""));
- }
- try{
- b = Double.parseDouble( detVal($b)[0] );
- }
- catch(Exception e)
- {
- //sV = Double.parseDouble(sT[0].replaceAll("[^0-9.]", ""));
- }
- double c = 0.0;
- if(sign.equals("^")){
- //Log.i("^^^", tA[solvePos-1] + " ^ " + tA[solvePos+1]);
- $c = doAlgnew($a,"^",$b);
- }
- if(sign.equals("*")){
- //Log.i("***", tA[solvePos-1] + " * " + tA[solvePos+1]);
- //c = a * b;
- $c = doAlgnew($a,"*",$b);
- }
- if(sign.equals("/")){
- //Log.i("///", tA[solvePos-1] + " / " + tA[solvePos+1]);
- //c = a / b;
- if( Integer.parseInt($b) != 0){
- $c = doAlgnew($a,"/",$b);
- }else{
- $c = "0";
- }
- }
- if(sign.equals("+")){
- //Log.i("+++", tA[solvePos-1] + " + " + tA[solvePos+1]);
- //c = a + b;
- $c = doAlgnew($a,"+",$b);
- }
- if(sign.equals("-")){
- //Log.i("---", tA[solvePos-1] + " - " + tA[solvePos+1]);
- $c = doAlgnew($a,"-",$b);
- //c = a - b;
- }
- tA[solvePos-1] = $c;//Double.toString(c);
- tA[solvePos] = "";
- tA[solvePos+1] = "";
- String be = "";
- for(int i = 0; i<tA.length;i++){
- be = be + tA[i];
- }
- //Log.i("theEquation", be);
- if( !(solvePos+3>tA.length) ){
- for(int i = solvePos; i < tA.length-2; i++){
- tA[i] = tA[i+2];
- tA[i+2] = "";
- }
- }
- be = "";
- for(int i = 0; i<tA.length;i++){
- be = be + tA[i];
- }
- //Log.i("theEquationafter", be);
- }else{//else the equation is over
- thingsToSolve = false;
- }
- }
- return tA[0];
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement