[AJUDA]Infixa para pos fixada

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]

Já tentou usar um depurador?

Outra coisa. Evite essas tags como [AJUDA] ou [DUVIDA] no título do seu tópico.
Por ser uma informação óbvia (praticamente todo mundo que abre um tópico aqui precisa de ajuda), ela não ajuda em nada.

desculpa pelo ajuda cara…mas debugar eu nao sei usar direito ainda…inicio do curso