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…