Gurizada,
Estou com o seguinte problema: preciso implementar uma classe que leia uma expressão (String) e quando um operando for lido, ele é simplesmente inserido na pilha. Quando um operador for lido, os operandos necessários para efetuar a operação são retirados da pilha, processados, e o resultado é inserido na pilha. Desta maneira, ao final da execução, o que restará na pilha é o resultado final da expressão.
Ou seja, preciso receber uma expressão infixa e calcular na notação polonesa reversa...
Travei na hora de retirar da pilha os operandos necessários... a parte de identificar quando é operador e operando tá beleza...
Obs. Posso usar só PILHA, nada de lista nem ArrayList nem nada. Só Pilha!
Espero que tenham entendido e consigam me dar uma luz :P
Segue abaixo o trecho do código que consegui fazer:
public Object setPostfix(String expression) throws UnderflowException, OverflowException{
char current;
int size = expression.length();
Stack pilha = new Stack(size);
for(int i = 0; i < size; i++){
current = expression.charAt(i);
if(current >= '0' && current <= '9'){
pilha.push(current);
}else if(current == '+'){
}
}
return pilha;
}
Obrigado a todos!
Fico no aguardo de uma mãozinha!