Dúvida sobre programa de Java

2 respostas
D

[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));
	}
	
}

2 Respostas

bueno

Tem um livro chamado A arte do java dos escritores Hebert Schimit e James Holmes publicado pela editora campos, no capitulo dois fala exatamente o que você precisa

abaixo está o link dos códigos do livro

http://www.jamesholmes.com/TheArtOfJava/ArtOfJava-code.zip

D

pouts vlw cara…

Criado 19 de maio de 2008
Ultima resposta 20 de mai. de 2008
Respostas 2
Participantes 2