[color=darkred][/color]Galeraaa tenhu um trabalho pra fazer, só que sou iniciante ainda e precisa de uma ajuda de vocês...
O trabalho é o seguinte tem que montar um programa de java que pergunte uma expressão numérica, exemple: 2*(5+5) e de s resposta, "=20"...
ai estou usando a estrutura em pilha com NPR, fiz um exercício parecido só que ele utiliza strings e calcula expressões pós fixa...queria dar continuidade neste exercicio mesmo por ser + facil axu, preciso apenas que receba os dados numéricos int e calcule...como posso fazer issu???preciso de uma umas idéias...
import javax.swing.*;
public class NPR
{
public String toNPR(String exp) {
String saida = "";
char ch;
Pilha p = new Pilha();
for(int i=0; i<exp.length(); i++) {
ch = exp.charAt(i);
//Se for operando, copiar direto para a saída
if(ch >= 'A' && ch <= 'Z') {
saida += ch;
}
//Se for operador, empilhá-lo
if(ch=='+' || ch=='-' || ch=='*' || ch=='/'){
p.push(ch);
}
//Se for parênteses de fechamento, copiar
//para a saída o último operador empilhado
if(ch == ')') {
saida += p.pop();
}
}
return saida;
}
public static void main(String args[]) {
NPR npr = new NPR();
String exp = JOptionPane.showInputDialog(
"Entre com a expressão");
JOptionPane.showMessageDialog(null,
npr.toNPR(exp));
}
}