Calculadora utilizando uma string

1 resposta
R

import java.util.*;
public class javcal {

// metodo analise
 public static String analise(String x){
      
     // declaracao de variaveis
     int a,m,n,multi,b;
     String S,f,j,u,t,y; 
     String [] word;
     
        b=b+1;
     // inicializar
     x="";
     multi=0; 
     S=j;
     a=0;
     word = new String[]{"+", "-", "*", "/"}; 
      while(x.chartAt( b)!= word){
       
     }
     // procurar o operador '*' e o resolve
     while (x.charAt(a) != '*') {
        if( x.charAt(a+1) == '*') { 
            u = x.substring(a+2,a+3);  
            m=Integer.parseInt(u); 
            f = x.substring(a,a+1); 
            n = Integer.parseInt(f); 
            multi=m*n; 
        }
        a++;
    } 
  j="";
    t = x.substring(0,a-1); 
    y = x.substring(a+2);
    j = (t +multi+ y);
    
    return S;    
}
 
 // metodo main
public static void main(String []args){
    
    // variaveis
    boolean running=true;
    String S,x,j;

    
    j=" ";
    x="2+3*5/5"; 
    S=" ";
    
    
    while (running){
        S=analise( x);
           
        if(S.equals( x)){
            running=false;
            
        }
        else {
            x=S;
        }
  }
    System.out.println(S);

}

}

aqui esta todo o codigo que fiz, so que esta com uns pequenos bugs e ainda falta colocar em ordem a parte central, mais estou tentando fazer com que a calculadora procure onde tem um sinal * e o resolva, mais para isso ela vai varrer o lado direito do sinal e o lado direito do sinal ate achar outro sinal qualquer, e depois pegar o numerico que esta entre os sinais, para so entao fazer a multiplicação, dai entao fará o processo denovo ate achar outro *, mas caso não ache pula para / e faz o memso processo até chegar no + e - , até me mostrar o resultado final, gostaria de me ajudassem com isso… valeu…

1 Resposta

R

então cara…

vc vai ter que separar a string passada por parametro em operadores e numeros…

usa StringTokenizer…

explica melhor o q tu quer ou poste o código inteiro…

Criado 31 de julho de 2004
Ultima resposta 31 de jul. de 2004
Respostas 1
Participantes 2