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 .
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.
[quote=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.[/quote]
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:
[quote=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[/quote]
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:
[code] Scanner scn = new Scanner(System.in); //Criando o Scanner para ler o digitado
System.out.println("Digite a linha de comando.");
String linha = scn.nextLine().replace(" ", ""); // Lê a linha (sendo algo do tipo: 9 * 105)
String[] ops = new String[] { "+", "-", "*", "/" }; //As possíveis operações
String op = ""; //operação selecionada
for (int i = 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 ops
op = ops[i];
break;
}
}
int num1 = Integer.parseInt(linha.substring(0, linha.indexOf(op))); //acha o primeiro número, passa para int e guarda em uma variável
int num2 = 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);
else if (op.equals("-"))
System.out.println(num1 - num2);
else if (op.equals("*"))
System.out.println(num1 * num2);
else
System.out.println(num1 / num2);[/code]
Ex.:
Digite a linha de comando.
[color=green]104 / 2[/color]
52
[quote=pedroroxd][quote=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.[/quote]
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.[/quote]
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]