o meu codigo ele parece estar certo, mas ele nao exibe corretamente como deveria.
no caso : (A+B)(C+D) era pára ser exibido AB+CD+ mas ele imprime CD+*AB.
meu codigo abaixo:
obs nao funciona com expressao sem parentesis(nao sei se escreve assim)
[code]
public void parseInfixa(){
Pilha numeros = new Pilha();
Pilha operadores = new Pilha();
while(this.topo != null){
if(this.topo.str.equals("(")){
this.pop();
}
else if(this.topo.str.equals("+") || this.topo.str.equals("-")
|| this.topo.str.equals("/") || this.topo.str.equals("*")
|| this.topo.str.equals("ln") || this.topo.str.equals("e")){
operadores.push(this.pop());
}
else if(this.topo.str.equals(")")){
this.pop();
while(numeros.topo != null){
operadores.push(numeros.pop());
}
}
else{
numeros.push(this.pop());
}
}
while(numeros.topo != null){
operadores.push(numeros.pop());
}
operadores.print();
}[/code]