Exemplo de Calculadora

Abaixo você encontra trechos de códigos para implementar sua calculadora.

import java.text.NumberFormat;
import java.text.ParseException;
import java.util.Locale;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Sergio
 */
public class Converte {
 
 private static final Locale BRASIL = new Locale ("pt", "BR");
 private static final NumberFormat nf = NumberFormat.getNumberInstance(BRASIL);

//Coloca virgula
 public static String colocaVirgula(Float d){
 return nf.format(d);
 }
 //Tira a virgula
 public static Float tiraVirgula(String s){
 try {
 return (nf.parse(s)).floatValue();
 } catch (ParseException ex) {
 Logger.getLogger(Converte.class.getName()).log(Level.SEVERE, null, ex);
 }
 return null;
 }
 
}


TELA CALCULADORA
================

Import
------

import java.awt.Color;
import static java.lang.Double.parseDouble;
import static java.lang.Float.parseFloat;
import java.text.DecimalFormat;

Variaveis
---------

public class Calculadora extends javax.swing.JFrame {

String tecla = "", numero = "", formula="", oper = "", operant = "";
 boolean vez1 = true;
 float resultado, nrofinal;
 DecimalFormat df = new DecimalFormat("#.###");

Windows Opened
--------------

lbVisor.setText("0");
 lbVisor.setOpaque(true);
 lbVisor.setBackground(Color.black);
 jInternalFrame1.setOpaque(true);
 jInternalFrame1.setBackground(Color.orange);

Botões de operação + - / X
-----------------------------

oper = "*"; (+ - /) 
 entraOperacao(oper);

Botões de numeros
-----------------

tecla = "1"; 
 entraDados(tecla);

Botão de limpar dados
---------------------

lbConta.setText("");
 formula = "";
 numero = "";
 lbVisor.setText("0");
 resultado=0;
 nrofinal=0;
 vez1 = true;

Botão igual
-----------

entraOperacao(oper);
 lbConta.setText("");
 formula = "";
 numero = "";
 resultado=0;
 nrofinal=0;
 vez1 = true;
 operant="";

Metodo para digitar numeros
---------------------------

public void entraDados(String tecla)
 {
 numero = numero + tecla; 
 formula = formula + tecla; 
 lbConta.setText(formula); 
 lbVisor.setText(numero);
 }


Metodo para digitar operaçao
----------------------------

public void entraOperacao(String oper)
 { 
 if (numero.equals(""))
 {
 numero = lbVisor.getText();
 formula = formula + numero; 
 resultado=0;
 }
 
 nrofinal = tiraVirgula(numero);
 
 calcula(operant);
 
 numero = ""; 
 operant = oper; 
 
 formula = formula + " " + oper + " ";
 lbConta.setText(formula);
 }

Metodo para calcular resultado
------------------------------

public void calcula(String oper)
 {
 if (vez1 == true)
 {
 operant = oper; 
 resultado = nrofinal;
 vez1 = false;
 }
 
 if (oper.equals("+"))
 {
 resultado = resultado + nrofinal; 
 }
 if (oper.equals("-"))
 {
 resultado = resultado - nrofinal; 
 } 
 if (oper.equals("*"))
 {
 resultado = resultado * nrofinal; 
 } 
 if (oper.equals("/"))
 {
 resultado = resultado / nrofinal; 
 } 
 
 lbVisor.setText(String.valueOf(colocaVirgula(resultado)));


 }