Calculadora

6 respostas
Antonio_Carlos_M_Gom

eu fiz uma calculadora com o netbeans, só que eu não consigo fazer o botao da raiz funcionar.
preciso que alguem me ajude. O que eu fasso?

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

             result.setText(result.getText()+".");
    }                                      

    private void b0ActionPerformed(java.awt.event.ActionEvent evt) {                                   
        // TODO add your handling code here:
             result.setText(result.getText()+"0");
    }                                  

    private void b1ActionPerformed(java.awt.event.ActionEvent evt) {                                   
        // TODO add your handling code here:
        result.setText(result.getText()+"1");
    }                                  

    private void b2ActionPerformed(java.awt.event.ActionEvent evt) {                                   
        // TODO add your handling code here:
        result.setText(result.getText()+"2");

    }                                  

    private void b3ActionPerformed(java.awt.event.ActionEvent evt) {                                   
        // TODO add your handling code here:
        result.setText(result.getText()+"3");
    }                                  

    private void b4ActionPerformed(java.awt.event.ActionEvent evt) {                                   
        // TODO add your handling code here:
        result.setText(result.getText()+"4");
    }                                  

    private void b5ActionPerformed(java.awt.event.ActionEvent evt) {                                   
        // TODO add your handling code here:
        result.setText(result.getText()+"5");
    }                                  

    private void b6ActionPerformed(java.awt.event.ActionEvent evt) {                                   
        // TODO add your handling code here:
       result.setText(result.getText()+"6");
    }                                  

    private void b7ActionPerformed(java.awt.event.ActionEvent evt) {                                   
        // TODO add your handling code here:
      result.setText(result.getText()+"7");
    }                                  

    private void b8ActionPerformed(java.awt.event.ActionEvent evt) {                                   
        // TODO add your handling code here:
       result.setText(result.getText()+"8");
    }                                  

    private void b9ActionPerformed(java.awt.event.ActionEvent evt) {                                   
        // TODO add your handling code here:
        result.setText(result.getText()+"9");
    }                                  

    private void limparActionPerformed(java.awt.event.ActionEvent evt) {                                       
        // TODO add your handling code here:
       result.setText("");
    }                                      

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

    private void bmaisActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
       num1=Double.parseDouble(result.getText()) ;
       result.setText("");

        operador=1;
    }                                     

    private void bmenosActionPerformed(java.awt.event.ActionEvent evt) {                                       
        // TODO add your handling code here:
        num1=Double.parseDouble(result.getText());
        result.setText("");
        operador=2;
    }                                      

    private void bdividirActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        num1=Double.parseDouble(result.getText());
        result.setText("");
        operador=3;
    }                                        

    private void bmultActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
        num1=Double.parseDouble(result.getText());
        result.setText("");
        operador=4;
    }                                     

    private void braizActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // Raiz quadrada
        num1=Double.parseDouble(result.getText());
   result.setText("");
   operador=5;
    }                                     

    private void bporceActionPerformed(java.awt.event.ActionEvent evt) {                                       
        // TODO add your handling code here:
          num1=Double.parseDouble(result.getText());
        result.setText("");
        operador=6;
    }                                      

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

        num2=Double.parseDouble(result.getText());
        if(operador==1)
        {resultado=num1+num2;}
        if(operador==2)
        {resultado=num1-num2;}
        if(operador==3)
        {resultado=num1/num2;}
        if(operador==4)
        {resultado=num1*num2;}
       if(operador==5)
       {
       
       
       }
        if(operador==6)
        {resultado=(num1/100)*num2;}
        result.setText(""+resultado);

        
    }

6 Respostas

pintofree

Posta Seu codigo usando a tag CODE nao da para enteder nada deste jeito.

Mephy

(além da tag Code), tente usar os métodos Math.sqrt() ou Math.pow()
O primeiro (sqrt) retorna somente a raíz quadrada…
Já o pow eleva um número x a potência y (Math.pow(x, y)), lembrando que na matemática (5 elevado a meio) = (raiz quadrada de 5), tal como (5 elevado a um terço) = (raiz cúbica de 5), ou seja: a raiz de um número é igual a este número elevado a um/fator de radiciação

Antonio_Carlos_M_Gom

agora tá beleza?

edumoreira

Antonio,

O que acontece é que vc deve usar

resultado=(num1/100.0)*num2;

e não

resultado=(num1/100)*num2;

como estava usando, porque?
Porque usando 100 o java pode entender a conta como inteiro.

Ex. (a variável resultado sendo do tipo double)

Em: ([color=blue]25.0[/color]/100)*[color=blue]800.0[/color] (valores em azul digitados pelo usuário)
Eu quero saber quanto é 25% de 800 certo? blz, eu tenho floats na conta, o java entende que é uma conta de ponto flutuante.

Agora se o usuário digita: ([color=blue]25[/color]/100)*[color=blue]800[/color]
A mesma conta, porém o java entende como uma conta de inteiros e mesmo sua variável resultado sendo double o resultado é truncado para 0 (zero)

Agora se vc trocar 100 por 100.0 mesmo o usuário digitando valores sem o .0 o java vai entender a conta como sendo de ponto flutuante.

… :arrow:

Antonio_Carlos_M_Gom

agora vou pesta atenção nesse detalhe.

E no caso da raiz como fica?

edumoreira

Vamo pesquisar no fórum…hehe

http://www.guj.com.br/java/19799-funcao-pra-raiz-quadrada

… :arrow:

Criado 12 de abril de 2011
Ultima resposta 13 de abr. de 2011
Respostas 6
Participantes 4