Estou lendo o livro Java Como Programar da Deitel.
Fiz esse exemplo.
importjavax.swing.JOptionPane;publicclassAddition{publicstaticvoidmain(Stringargs[]){StringfirstNumber,secondNumber;intnumber1;intnumber2;intsum;firstNumber=JOptionPane.showInputDialog("Coloque um numero inteiro");secondNumber=JOptionPane.showInputDialog("Coloque outro numero inteiro");number1=Integer.parseInt(firstNumber);number2=Integer.parseInt(secondNumber);sum=number1+number2;JOptionPane.showMessageDialog(null,"O resultado é "+sum,"Resultado",JOptionPane.QUESTION_MESSAGE);System.exit(0);}}
Porem invés de ser uma soma que o programa ira realizar, eu queria que o usuario escolhece qual seria a operação, ,+, -, *, /.
Como ficaria, se alguem puder ajudar...
Valeu :D
É um exemplo básico, mas para fins de entendimento:
Antes ou após o usuário digitar o par de números, mostre um outro JOptionPane, mostrando as operações que podem ser executadas pelo seu programa, e após ele clicar em ok, faça um if (ou até mesmo um switch) para executar a operação de acordo com a opção digitada pelo usuário!
fernandofavari
LucasAdri07:
Olá pessoal.
Estou lendo o livro Java Como Programar da Deitel.
Fiz esse exemplo.
importjavax.swing.JOptionPane;publicclassAddition{publicstaticvoidmain(Stringargs[]){StringfirstNumber,secondNumber;intnumber1;intnumber2;intsum;firstNumber=JOptionPane.showInputDialog("Coloque um numero inteiro");secondNumber=JOptionPane.showInputDialog("Coloque outro numero inteiro");number1=Integer.parseInt(firstNumber);number2=Integer.parseInt(secondNumber);sum=number1+number2;JOptionPane.showMessageDialog(null,"O resultado é "+sum,"Resultado",JOptionPane.QUESTION_MESSAGE);System.exit(0);}}
Porem invés de ser uma soma que o programa ira realizar, eu queria que o usuario escolhece qual seria a operação, ,+, -, *, /.
Como ficaria, se alguem puder ajudar...
Valeu :D
Você pode resolver por meio de if/else
Tipo, vc pergunta para ele qual operação deseja
Se acaso for soma "+", entra em um "if", fazendo num1 + num2... e assim por diante.
Entendeu?
LucasAdri07
thiago.correa:
É um exemplo básico, mas para fins de entendimento:
Antes ou após o usuário digitar o par de números, mostre um outro JOptionPane, mostrando as operações que podem ser executadas pelo seu programa, e após ele clicar em ok, faça um if (ou até mesmo um switch) para executar a operação de acordo com a opção digitada pelo usuário!
No caso, faria um JOptionPane Mostrando.
Operações:
Soma
Subtração
Multipicação
Divisão.
E depois faria um if dizendo o que?
Precisaria criar outras variavéis?
LucasAdri07
fjfj:
LucasAdri07:
Olá pessoal.
Estou lendo o livro Java Como Programar da Deitel.
Fiz esse exemplo.
importjavax.swing.JOptionPane;publicclassAddition{publicstaticvoidmain(Stringargs[]){StringfirstNumber,secondNumber;intnumber1;intnumber2;intsum;firstNumber=JOptionPane.showInputDialog("Coloque um numero inteiro");secondNumber=JOptionPane.showInputDialog("Coloque outro numero inteiro");number1=Integer.parseInt(firstNumber);number2=Integer.parseInt(secondNumber);sum=number1+number2;JOptionPane.showMessageDialog(null,"O resultado é "+sum,"Resultado",JOptionPane.QUESTION_MESSAGE);System.exit(0);}}
Porem invés de ser uma soma que o programa ira realizar, eu queria que o usuario escolhece qual seria a operação, ,+, -, *, /.
Como ficaria, se alguem puder ajudar...
Valeu :D
Você pode resolver por meio de if/else
Tipo, vc pergunta para ele qual operação deseja
Se acaso for soma "+", entra em um "if", fazendo num1 + num2... e assim por diante.
Entendeu?
+ / - Assim?
Ex: Soma:
if num1 + num2
Subtração:
if num1 - num2
Multiplicação:
if num1 * num2
Divisão:
if num1 / num2
fernandofavari
LucasAdri07:
thiago.correa:
É um exemplo básico, mas para fins de entendimento:
Antes ou após o usuário digitar o par de números, mostre um outro JOptionPane, mostrando as operações que podem ser executadas pelo seu programa, e após ele clicar em ok, faça um if (ou até mesmo um switch) para executar a operação de acordo com a opção digitada pelo usuário!
É um exemplo básico, mas para fins de entendimento:
Antes ou após o usuário digitar o par de números, mostre um outro JOptionPane, mostrando as operações que podem ser executadas pelo seu programa, e após ele clicar em ok, faça um if (ou até mesmo um switch) para executar a operação de acordo com a opção digitada pelo usuário!
Tipo, pensei em algo mais simples, só mostrando quais operações ele quer executar, não ele clicar na qual ele deseja pra ser realizada…
fernandofavari
LucasAdri07:
fjfj:
LucasAdri07:
thiago.correa:
É um exemplo básico, mas para fins de entendimento:
Antes ou após o usuário digitar o par de números, mostre um outro JOptionPane, mostrando as operações que podem ser executadas pelo seu programa, e após ele clicar em ok, faça um if (ou até mesmo um switch) para executar a operação de acordo com a opção digitada pelo usuário!
Tipo, pensei em algo mais simples, só mostrando quais operações ele quer executar, não ele clicar na qual ele deseja pra ser realizada…
Se acaso no JOptionPane vc perguntar para ele se ele quer saber o resultado de uma soma ou sibtraçao… o jeito que vc fez da certo, mas se caso ele quiser uma “calculadora”, o jeito que to te explicando é facil… e desenvolvi um assim semana passada e deu certo… é que nao tenho netbeans aqui no serviço senao eu postava.
LucasAdri07
fjfj:
LucasAdri07:
fjfj:
LucasAdri07:
thiago.correa:
É um exemplo básico, mas para fins de entendimento:
Antes ou após o usuário digitar o par de números, mostre um outro JOptionPane, mostrando as operações que podem ser executadas pelo seu programa, e após ele clicar em ok, faça um if (ou até mesmo um switch) para executar a operação de acordo com a opção digitada pelo usuário!
Tipo, pensei em algo mais simples, só mostrando quais operações ele quer executar, não ele clicar na qual ele deseja pra ser realizada…
Se acaso no JOptionPane vc perguntar para ele se ele quer saber o resultado de uma soma ou sibtraçao… o jeito que vc fez da certo, mas se caso ele quiser uma “calculadora”, o jeito que to te explicando é facil… e desenvolvi um assim semana passada e deu certo… é que nao tenho netbeans aqui no serviço senao eu postava.
Sim, entendi, é que eu acho que calculadora ainda é um pouco mais além do que estou vendo, por isso e melhor só mostrar qual as opções de operações ele tem (:
fernandofavari
Quais opçoes vc quer mostrar… me fala sua ideia e vejo se te ajudo!!
LucasAdri07
Tipo, criar um JOptionPane para mostrar as operações que poderam ser efetuadas é facil.
Porem o que queria fazer é por exemplo.
“Abre uma caixa de dialago para ser digitado um numero.”
“Depois abre outra caixa de dialogo para ele digitar a operação que ele quer, + , - , * , /.”
“E depois abre outra caixa de dialago para ele digitar o outro nuemro para ser realizada a operação.”
Por fim aparece o resultado da operação.
fernandofavari
Cara, eu to com uma ideia na cabeça mas nao tem como eu testar pra te dar uma resposta, pra não acabar te falando besteira…hj a noite eu posso ate testar em casa e te dou uma resposta
LucasAdri07
Adicionei uma linha:
sinalDaOperacao =
JOptionPane.showInputDialog ( "Coloque o sinal da operação");
vamos ver se fica mais faicl de entender, gostaria que quando o usuario digitasse o sinal nessa caixa de dialogo interpretasse uma operação matematica conforme o sinal correspondente. (;
gpd38
Não sei se é isso mas ve se te ajuda
importjavax.swing.JOptionPane;publicclassAddition{publicstaticvoidmain(Stringargs[]){intnumber1,number2;intsum,sub,dif,mul;Stringoperacao;number1=Integer.parseInt(JOptionPane.showInputDialog("Digite o primeiro numero inteiro"));operacao=JOptionPane.showInputDialog("Digite a operação desejada:\n + - / * ");while(!operacao.equals("+")&&!operacao.equals("-")&&!operacao.equals("/")&&!operacao.equals("*")){operacao=JOptionPane.showInputDialog("Esta operação nao existe\nDigite a operação desejada:\n + - / * ");}number2=Integer.parseInt(JOptionPane.showInputDialog("Digite o segundo numero inteiro"));if(operacao.equals("+")){sum=number1+number2;JOptionPane.showMessageDialog(null,"O resultado da soma de "+number1+" + "+number2+" = "+sum,"Resultado Soma",JOptionPane.QUESTION_MESSAGE);}elseif(operacao.equals("-")){sub=number1-number2;JOptionPane.showMessageDialog(null,"O resultado da subtração de "+number1+" - "+number2+" = "+sub,"Resultado Subtraçao",JOptionPane.QUESTION_MESSAGE);}elseif(operacao.equals("/")){dif=number1/number2;JOptionPane.showMessageDialog(null,"O resultado da soma de "+number1+" / "+number2+" = "+dif,"Resultado Divisão",JOptionPane.QUESTION_MESSAGE);}elseif(operacao.equals("*")){mul=number1*number2;JOptionPane.showMessageDialog(null,"O resultado da soma de "+number1+" * "+number2+" = "+mul,"Resultado Multiplicação",JOptionPane.QUESTION_MESSAGE);}System.exit(0);}}
fernandofavari
hiii véi, não consegui fazer nao… eu tentei mas acabou dando num prog igual a esse de cima… se acaso vc descobrir, posta ai pra nois!!!
abraço e boa sorte.
pedroroxd
gpd38:
Não sei se é isso mas ve se te ajuda
..
Não há necessidade de criar várias variáveis (int sum,sub,dif,mul). Basta uma variável chamada result
E ainda é melhor usar case, em vez de if...
Seria assim:
publicclassAddition{publicstaticvoidmain(Stringargs[]){intnumber1,number2,result=0,operacao;Stringop;number1=Integer.parseInt(JOptionPane.showInputDialog("Digite o primeiro numero inteiro"));op=JOptionPane.showInputDialog("Digite a operação desejada:\n + - / * ");while(!op.equals("+")&&!op.equals("-")&&!op.equals("/")&&!op.equals("*")){op=JOptionPane.showInputDialog("Esta operação nao existe\nDigite a operação desejada:\n + - / * ");}operacao=op.charAt(0);number2=Integer.parseInt(JOptionPane.showInputDialog("Digite o segundo numero inteiro"));switch(operacao){case'+':result=number1+number2;break;case'-':result=number1-number2;break;case'*':result=number1*number2;break;case'/':result=number1/number2;break;}JOptionPane.showMessageDialog(null,"O resultado de "+number1+op+number2+" = "+result,"Resultado",JOptionPane.QUESTION_MESSAGE);System.exit(0);}}
peczenyj
vc poderia receber uma expressão matemática valida e efetua-la usando a API de Scripting
Tem diversas formas de fazer…
Usando console, usando gui…
Mas axo que o objetivo dele era aprender sobre o jOptionPane…
Por isso que fiz dakele jeito
LucasAdri07
pedroroxd:
gpd38:
Não sei se é isso mas ve se te ajuda
..
Não há necessidade de criar várias variáveis (int sum,sub,dif,mul). Basta uma variável chamada result
E ainda é melhor usar case, em vez de if...
Seria assim:
publicclassAddition{publicstaticvoidmain(Stringargs[]){intnumber1,number2,result=0,operacao;Stringop;number1=Integer.parseInt(JOptionPane.showInputDialog("Digite o primeiro numero inteiro"));op=JOptionPane.showInputDialog("Digite a operação desejada:\n + - / * ");while(!op.equals("+")&&!op.equals("-")&&!op.equals("/")&&!op.equals("*")){op=JOptionPane.showInputDialog("Esta operação nao existe\nDigite a operação desejada:\n + - / * ");}operacao=op.charAt(0);number2=Integer.parseInt(JOptionPane.showInputDialog("Digite o segundo numero inteiro"));switch(operacao){case'+':result=number1+number2;break;case'-':result=number1-number2;break;case'*':result=number1*number2;break;case'/':result=number1/number2;break;}JOptionPane.showMessageDialog(null,"O resultado de "+number1+op+number2+" = "+result,"Resultado",JOptionPane.QUESTION_MESSAGE);System.exit(0);}}
Valeu por ajudar.
Só fiquei meio confuso na parte do while
e aquele result = 0
EDIT:
Entendi o while, é caso se a pessoa digitar algo diferente de + , - , * , /, irá mostrar que esta operação não existe.
E o result 0 é só para começar com um valor 0.
LucasAdri07
Só uma coisa.
Para mim definir o numero de casas decimais não é igual o do System.out.println(" Resultado = %.1f %n"+(exemplo));
Posso usar bigdecimal?
pedroroxd
A parte do while:
op=JOptionPane.showInputDialog("Digite a operação desejada:\n + - / * ");while(!op.equals("+")&&!op.equals("-")&&!op.equals("/")&&!op.equals("*")){
Ou seja.. enquanto a pessoa não digitar "+ ou - ou / ou *", ele vai ficar pedindo pra pessoa digitar...
Assim evita de vc pedir pra ela digitar o sinal, e ela digitar 1 letra por exemplo...
E o result =0, é pq é preciso inicializar a variável com 1 valor, para printar ela no console...