Qual é o comando que uso para guardar um número numa calculadora com o JFrame usando Grid?

public class Calculadora extends javax.swing.JFrame {

int numero1;
int numero2;
int resultado;
String operacao;
int botao;

public Calculadora() {
    initComponents();
}

private void jbotao15ActionPerformed(java.awt.event.ActionEvent evt) {

switch(operacao){
    case "+":
        resultado = numero1+botao;
        jTextField1.setText(String.valueOf(resultado));
        break;
    case "-":
        resultado = numero1-botao;
        jTextField1.setText(String.valueOf(resultado));
        break;
    case "*":
        resultado = numero1*botao;
        jTextField1.setText(String.valueOf(resultado));
        break;
    case "/":
        resultado = numero1/botao;
        jTextField1.setText(String.valueOf(resultado));
        break;
    default:
    System.out.println("");
        break;
    
}

Nas calculadoras, geralmente existem os seguintes botões/teclas:

1 - MR (Memory Recovery): exibe o valor atualmente na memória;
2 - MC (Memory Clear): apaga, limpa a memória da calculadora;
3 - MS (Memory Save): salva um valor na memória;
4 - M+ (Memory Add): adiciona um valor (não negativo) na memória da calculadora. Por padrão a memória vem inicializada com 0 (zero);
5 - M- (Memory Subtract): adiciona um valor (não positivo) na memória. Por padrão a memória vem inicializada com 0 (zero);

Logo, você deve reproduzir essas teclas na sua calculadora.

Obrigado, mas não é isso que eu quero não, eu tenho uma calculadora, eu digito o 1 e depois o somar 5, o resultado da 6 certinho , o problema que ele tá fazendo assim 15 ? como faço para evitar isso ?

Está aparecendo no visor 1 e 5? Basta colocar o operador entre os números. Quando acionar o botão de igual, apagar os operandos e mostrar o resultado, como uma calculadora faria.

1 curtida

mas qual é o comando que eu tenho que chamar lá ?

1 - Digitou a parcela “1” : mostra no visor;

1

2 - Digitou o operador “+”: mostra no visor;

1 +

3 - Digitou a parcela 2: mostra no visor;

1 + 5

4 - Teclou “=”

4.1 - Apaga os dados no visor;
4.2 - Mostra a soma.

Ou seja, vá concatenado o que for sendo digitado, exceto o sinal de igual. Não consegue implementar isso? Essa é a sua questão? Se for, não é um só um ‘comando’, mas vários, dentro de um ou mais métodos.

1 curtida

Obrigado ai , se tá me dando aula de lógica , mas valeu a intenção ai kkkkkk

Pôxa, Java nem tem comandos…
Como é que está o seu código?
Consegue descrever verbalmente o que é pra acontecer ao pressionar as teclas?

1 curtida

é uma coisa simples que eu não estou dando conta. 1 + 8 = 9, só que ele tá fazendo assim 18 ?

Posta o seu código.

  • O que você faz ao pressionar 1?
  • O que você faz ao pressionar +?
  • O que você faz ao pressionar 8?
  • O que você faz ao pressionar =?

Como é que funciona uma “calculadora de açougueiro”?

  • ao pressionar qualquer tecla numérica, vai concatenando o número no display

  • ao pressionar qualquer operação diferente da igualdade, armazena na memória o valor do número que está no display e armazena a operação a ser executada

  • ao pressionar qualquer tecla numérica, vai concatenando o número no display

  • ao pressionar a operação de igualdade, executa a operação armazenada utilizando o número armazenado na memória e o número atual no display

1 curtida

Pra gente conseguir entender melhor seu código renomeia os botões para o nome equivalente a ele, exemplo jBNumero1, jBResultado, jBSoma, etc. Depois posta aqui todo o código fonte, pois você postou apenas um pedaço que não da pra gente saber quando ele está sendo chamado. Outra coisa que pode estar acontecendo é que quando você coloca o mais na tela você deixa o valor de operação no +, então como no resultado você não limpa esse valor, sempre que você for clicando no igual ele vai continuar somando dobrando o número.