Calculadora

Caro colega,

Preciso fazer um programa calculadora porem da seguinte forma: que tenha pilha e fila. A pilha vai receber os numeros para os calculos e a fila receberá o operador. quando digitar o sinal “=”, o programa encerra e faz o resultado da operação. A medida que vai desempilhando processa o calculoe da o resultado. Voce já viu ou tenh algo parecido que possa me ajudar?

Atenciosamente,

Edson

Claro que podemos te ajudar :thumbup:

Onde voce parou?

Prezado colega,

eu já bfiz a parte da pilha e da fila. Estou fazendo a entrada de dados onde eu peço para entrar com o numero e mando empilhar. Entro com o operador e mando colocar na fila. Não sei prosseguir daí pra frente, preciso mesmo de um empurranzinho. Qaualquer ajudazinha já é de grande valor…

Obrigado,

Edson

Para ler do teclado, use System.in:

Leia a documentação da classe aqui System

Caso ainda nao tenha dado uma lida, esse artigo pode ajudar: http://guj.com.br/java.artigo.13.1.guj

Shoes

Caro colega,

Li este artigo conforme sua sugestão mas ele não fala da calculadora, não seria outro artigo?

atenciosamente,

Edinho

O que o PCalçado lhe indicou era um artigo sobre como ler dados do console. A calculadora é por sua conta, já que você já fez a pilha e a fila, não é difícil remover os dados da pilha ou fila para poder fazer as contas. Nada que meia dúzia de “switch” ou “if” não resolvam…
:wink:

Ele fala de I/O que é o que você rpecisa para ler do teclado :wink:

Lendo os dados do teclado, basta fazer o algoritmo que processa a expressão

Prezados colegas,

Acho que agora entendi realmente. vou reler o artigo e tentar, qualquer coisa, volta a lhes solicitar nova ajuda, valeu!..

Obrigado,

Edinho

Edson,

Acho que a gente não lhe entendeu direito. O seu problema, na verdade, era que você queria saber o que fazer com os dados, uma vez que foram empilhados.

A melhor maneira para lidar com isso é fazer um simulação com lápis e papel (ou com umas fichas de papel, que é melhor ainda).
Quando você fizer isso e obtiver os resultados corretos, basta implementar.

Caros colegas,

Ainda sobre calculadora, fiz este pequeno programa e estou apanhando dele também. Tento fazer uma operação nesta calculadora e o resultado está sempre me retornando “0”. O que está acontecendo?

import javax.swing.JOptionPane; 
public class Calculo 
{ 
public static void main ( String args[] ) 
{ 

String operador; // Operador aritimetico 
double Numero1; // Primeira variavel que recebe uma String 
double Numero2; // Segunda variavel que recebe uma String 
double Resultado; // Variavel informar resultado 

Resultado = 0.0; // inicialisando a variavel 


Numero1 = Double.parseDouble(JOptionPane.showInputDialog( "Entre com o primeiro numero")); 
operador= JOptionPane.showInputDialog( "Entre com o operador" ); 
Numero2 = Double.parseDouble(JOptionPane.showInputDialog( "Entre com o segundo numero")); 
while( Numero1 >=0) 
{ 

if ( operador == "+" ) 

Resultado = Numero1 + Numero2; 

else 

if ( operador == "-" ) 

Resultado = Numero1 - Numero2; 

else 

if ( operador == "*" ) 

Resultado = Numero1 * Numero2; 
else 

if ( operador == "/" ) 

Resultado = Numero1 / Numero2; 

JOptionPane.showMessageDialog(null,"Resultado: "+ Resultado);//, JOptionPane.PLAIN_MESSAGE ); 

System.exit( 0 ); 
} 
} 
} 

Editado, é [code] não

Com strings, não use “==”. Use equals.

operador.equals("/")

Caro colega,

Até então tudo tem sido ótimo, já consegui aprender e fazer muita coisa com a ajuda de voces, agradeço muito por esta oportunidade e disposição de ajuda de voces para com o fórum. Na oportunidade, gostaria de mais uma ajudinha: Consegui fazer o programa da calculadora do meu jeito. Está funcionando. Eu gostaria de faze-lo mais apresentado, o que voces me sugeririam ou alterariam para ele ter uma melhor interface ou uma melhor apresentação? São 3 arquivos. No programa estou utilizando pilha e fila. O código segue abaixo:

Atenciosamente,

Edson