Pessoal, estou criando uma calculadora simples, mas estou com uma dúvida… como faço nessa parte, tipo:
digito os números e a operação matemática + - x /
ai ficaria assim : total += n1 n2 + n3 n4;
eu estou com dúvida na parte do sinal … tipo… como ele vai reconhecer que cliquei no + e vai fazer a soma… ?
da forma que eu fiz eu coloquei dois campos… digitava no campo 1 e no campo 2 … quando clicava no operador matemático ele calculava… mas eu quero deixar so com 1 campo ai tou sem saber como faço essa parte para digitar tais numeros depois clicar no + e digitar o outro numero .
Quando ele clicar no +, guarde o número atual numa variável.
F
felipevs
é como eu disse. assim:
digita os números
12 “+” 20;
eu sou sem saber como eu faço para dividir o 12 do + e do 20
pedroroxd
.getIndexOf("+");.substring(0,…).substring(…)
gRoOve
Uma pergunta, por acaso está usando Swing ou fazendo direto pelo console?
Se estiver usando GUI, basta fazer como o Vini escreveu, quando digitar o primeiro número, mostra na tela, e quando clicar na operação salva o valor do primeiro número. Posta teu código pra gente te ajudar.
pedroroxd
gRoOve:
Uma pergunta, por acaso está usando Swing ou fazendo direto pelo console?
Se estiver usando GUI, basta fazer como o Vini escreveu, quando digitar o primeiro número, mostra na tela, e quando clicar na operação salva o valor do primeiro número. Posta teu código pra gente te ajudar.
Ele não quer assim..
Não é dakele tipo:
-Digite um número: 8
-Digite outro número: 5
-Digite a operação: +
-O resultado é 13.
Ele disse:
felipevs:
é como eu disse. assim:
digita os números
12 "+" 20;
eu sou sem saber como eu faço para dividir o 12 do + e do 20
Ou seja, é algo do tipo:
-Digite o que deseja: 8 + 5
-O resultado é 13.
Se não entendi errado..
Se for realmente a operação inteira em uma linha, ficaria algo do tipo:
Scannerscn=newScanner(System.in);//Criando o Scanner para ler o digitadoSystem.out.println("Digite a linha de comando.");Stringlinha=scn.nextLine().replace(" ","");// Lê a linha (sendo algo do tipo: 9 * 105)String[]ops=newString[]{"+","-","*","/"};//As possíveis operaçõesStringop="";//operação selecionadafor(inti=0;i<ops.length;i++){if(linha.contains(ops[i])){//nesse caso é somente uma operação, então podemos verificar apenas se ele contém uma das opsop=ops[i];break;}}intnum1=Integer.parseInt(linha.substring(0,linha.indexOf(op)));//acha o primeiro número, passa para int e guarda em uma variávelintnum2=Integer.parseInt(linha.substring(linha.indexOf(op)+1));//acha o segundo número, passa para int e guarda em uma variável//Verirfica qual foi a operação desejada, realiza a operação e escreve no console.if(op.equals("+"))System.out.println(num1+num2);elseif(op.equals("-"))System.out.println(num1-num2);elseif(op.equals("*"))System.out.println(num1*num2);elseSystem.out.println(num1/num2);
Ex.:
Digite a linha de comando.
[color=green]104 / 2[/color]
52
pedroroxd
Sugestão:
Depois implemente a solução para fazer algo do tipo:
Digite a linha de comando
[color=green]((104 / 2) * 5) - 3[/color]
O resultado é 257
F
felipevs
estou usando swing
gRoOve
pedroroxd:
gRoOve:
Uma pergunta, por acaso está usando Swing ou fazendo direto pelo console?
Se estiver usando GUI, basta fazer como o Vini escreveu, quando digitar o primeiro número, mostra na tela, e quando clicar na operação salva o valor do primeiro número. Posta teu código pra gente te ajudar.
Ele não quer assim…
Não é dakele tipo:
-Digite um número: 8
-Digite outro número: 5
-Digite a operação: +
-O resultado é 13.
Mas em nenhum momento eu falei que a calculadora funcionaria assim, leia com atenção o que eu escrevi.
De qualquer forma ele está usando Swing, então tente desenvolver como te falei.
Olhe este tópico, no final dele tem um link para uma vídeo aula ensinando a montar uma calculadora, acho que pode te ajudar.[youtube]