1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Calculadora que acumula em Java

Olá estou com uma duvida como criar um método soma de uma calculadora tipo a do windows.

Na verdade conssegui fazer com 2 valores e quando clico no botão = da certo.

Porem quero como se fosse uma calculadora que acumula por exemplo.

2+4+2+5=13 e se caso depois clicasse no botão de + e inserir outro numero por exemplo 1 ele realizasse a soma novamente quando clicar em = sendo o valor apresentado 14.

package Atividade01;

public class jfrCalculadora extends javax.swing.JFrame {

    String numeroVisor = "";
    char op;
    double total = 0, numA = 0, numB = 0;

    public jfrCalculadora() {

        initComponents();
    }

    @SuppressWarnings("unchecked")




    private void b2ActionPerformed(java.awt.event.ActionEvent evt) {                                   
        numDigitado("2");
    }                                  

    private void jtVisorActionPerformed(java.awt.event.ActionEvent evt) {                                        
        // TODO add your handling code here:
    }                                       

    private void b7ActionPerformed(java.awt.event.ActionEvent evt) {                                   
        numDigitado("7");
    }                                  

    private void b8ActionPerformed(java.awt.event.ActionEvent evt) {                                   
        numDigitado("8");
    }                                  

    private void b9ActionPerformed(java.awt.event.ActionEvent evt) {                                   
        numDigitado("9");
    }                                  

    private void b4ActionPerformed(java.awt.event.ActionEvent evt) {                                   
        numDigitado("4");
    }                                  

    private void b5ActionPerformed(java.awt.event.ActionEvent evt) {                                   
        numDigitado("5");
    }                                  

    private void b6ActionPerformed(java.awt.event.ActionEvent evt) {                                   
        numDigitado("6");
    }                                  

    private void b1ActionPerformed(java.awt.event.ActionEvent evt) {                                   
        numDigitado("1");
    }                                  

    private void b3ActionPerformed(java.awt.event.ActionEvent evt) {                                   
        numDigitado("3");
    }                                  

    private void b0ActionPerformed(java.awt.event.ActionEvent evt) {                                   
        numDigitado("0");
    }                                  

    private void bPontoActionPerformed(java.awt.event.ActionEvent evt) {                                       
        numDigitado(".");
    }                                      

    private void bSomaActionPerformed(java.awt.event.ActionEvent evt) {                                      
        Operacao('+');

    }                                     

    private void bSubtracaoActionPerformed(java.awt.event.ActionEvent evt) {                                           
        Operacao('-');
    }                                          

    private void bMultiplicacaoActionPerformed(java.awt.event.ActionEvent evt) {                                               
        Operacao('*');
    }                                              

    private void bDivisaoActionPerformed(java.awt.event.ActionEvent evt) {                                         
        Operacao('/');
    }                                        

    private void bIgualActionPerformed(java.awt.event.ActionEvent evt) {                                       
          numB = Double.parseDouble(jtVisor.getText());

        switch (op) {
            case '+':
                total = numA + numB;
            case '-':
                total = numA - numB;
            case '*':
                total = numA * numB;
            case '/':
                total = numA / numB;
        }

        jtVisor.setText(Double.toString(total));


    }                                      

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


    }                                          

    public static void main(String args[]) {

        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new jfrCalculadora().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify                     
    private javax.swing.JButton b0;
    private javax.swing.JButton b1;
    private javax.swing.JButton b2;
    private javax.swing.JButton b3;
    private javax.swing.JButton b4;
    private javax.swing.JButton b5;
    private javax.swing.JButton b6;
    private javax.swing.JButton b7;
    private javax.swing.JButton b8;
    private javax.swing.JButton b9;
    private javax.swing.JButton bDivisao;
    private javax.swing.JButton bIgual;
    private javax.swing.JButton bMultiplicacao;
    private javax.swing.JButton bPonto;
    private javax.swing.JButton bReiniciar;
    private javax.swing.JButton bSoma;
    private javax.swing.JButton bSubtracao;
    private javax.swing.JTextField jtVisor;
    // End of variables declaration                   

    public void Operacao(char op) {
        this.op = op;
        numA = Double.parseDouble(jtVisor.getText());
        numeroVisor = "";
        jtVisor.setText("");
    }

    public void numDigitado(String numero) {
        this.numeroVisor = jtVisor.getText();
        this.numeroVisor = this.numeroVisor + numero;
        jtVisor.setText(this.numeroVisor);

    }

}
  • posta o codigo pra vermos

    Guilherme Dias   08 de abr de 2015
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

2 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags orientação-a-objetos ou faça a sua própria pergunta.