viernes, 24 de octubre de 2014

Convertir de Decimal a Binario en java

Esta  ves  empezaremos  a programar  con  interfaces   

Este  primer  programa    enseñare a  realizar un  convertidor  de  Decimal  a Binario ;
 Empecemos;
  
creamos un  nuevo proyecto  con el  nombre Binario.
una vez  ya creado  el proyecto creamos  un jFrame Form .
Componentes:
utilizamos  un panel.
2 Text Field y  los  re nombramos  el primero  con  el nombre jTxt_numero  el  segundo  con el  nombre 
jTxt_binario.
2 Label. 
3 button  el  primero  con el  nombre  jB_Convertir   el segundo jB_salir  y el tercero  jB_limpiar.

Imagen  gráfica de los  componentes necesarios:





Lo voy  separar para  que lo  comprendas con mayor  facilidad :

Creación  de  variables:
int dividendo =0;//variable 
    int divisor=2;//variable 
    int  residuo =0;//variable
    int cosciente=0;//variable
    private String binario;//variable

Creo el  método convercion:
  public  void  convercion(){   //metodo  de  convercio  de  decimal a binario 
       binario="";//la  variable binario  se vacia 
       for(cosciente =9;cosciente>0;cosciente++){
            cosciente =dividendo /2;
            residuo =dividendo %2;
            binario = residuo + binario;
            dividendo=cosciente;
            if (cosciente==0){
            break;
            }
            
       }

seguimos  con la creacion de los Setter  y Getter:

  public void setDivisor(int divisor) {
        this.divisor = divisor;
    }

 public String getBinario() {//get Binario
        return binario;
    }
public void setDividendo(int dividendo) {//set dividiendo
        this.dividendo = dividendo;
    }


creo el  metodo  de  convertir  de una cadena a un  entero :

public int  StringToint (String cad){//metodo  que  convierte  de  string  a entero 
    try{
    return Integer.parseInt (cad);
} catch(NumberFormatException a){
JOptionPane.showMessageDialog(null,"Por favor ingrese un numero");}
        return 0;
}

pasamos a  las  acciones  de  los botones:
 
boton jB_Convertir :
 private void jB_ConvertirMouseClicked(java.awt.event.MouseEvent evt) {                                          
        // TODO add your handling code here:
     
   setDividendo(StringToint(jTxt_numero.getText()));//objetomodelo   muestra  el valor del numero1
     
       
       convercion();//inicializamos compara para que realize la  accion de  el  metodo en modelo
        jTxt_binario.setText("" + getBinario());// se trae a  getBianrio por que es  el reultado que se rteornara
    }   


boton jB_salir:
private void jB_salirMouseClicked(java.awt.event.MouseEvent evt) {                                      
        // TODO add your handling code here:
        System.exit(0);
    }  


boton jB_limpiar:
 private void jB_limpiarMouseClicked(java.awt.event.MouseEvent evt) {                                        
        // TODO add your handling code here:
        jTxt_numero.setText("");//vaciar lacaja  de texto numero
        jTxt_binario.setText("");//vaciar  la caja  de texto binario 
    }    

Esto es  todo  de parte  de codificación.
 codigo de  la  aplicacion   como deberia de quedarte 

import javax.swing.JOptionPane;// importamos JOptionPane;
import javax.swing.JTextField;//importamos JTextField

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author CRISTIAN
 */
public class Binario extends javax.swing.JFrame {
    int dividendo =0;//variable 
    int divisor=2;//variable 
    int  residuo =0;//variable
    int cosciente=0;//variable
    private String binario;//variable
    /**
     * Creates new form Binario
     */
    public Binario() {
        initComponents();
        
    }
   public  void  convercion(){   //metodo  de  convercio  de  decimal a binario 
       binario="";//la  variable binario  se vacia 
       for(cosciente =9;cosciente>0;cosciente++){
            cosciente =dividendo /2;
            residuo =dividendo %2;
            binario = residuo + binario;
            dividendo=cosciente;
            if (cosciente==0){
            break;
            }
            
       }
   }
   

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        jPanel1 = new javax.swing.JPanel();
        jL_Decimal = new javax.swing.JLabel();
        jB_Convertir = new javax.swing.JButton();
        jTxt_numero = new javax.swing.JTextField();
        jL_Binario = new javax.swing.JLabel();
        jTxt_binario = new javax.swing.JTextField();
        jLabel3 = new javax.swing.JLabel();
        jB_salir = new javax.swing.JButton();
        jB_limpiar = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jPanel1.setBackground(new java.awt.Color(51, 204, 255));
        jPanel1.setName("Decimal a Binario"); // NOI18N

        jL_Decimal.setText("INGRESE UN  NUEMERO DECIMAL");

        jB_Convertir.setText("Convertir");
        jB_Convertir.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jB_ConvertirMouseClicked(evt);
            }
        });

        jL_Binario.setText("EL RESULTADO  ES:");

        jTxt_binario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jTxt_binarioActionPerformed(evt);
            }
        });

        jLabel3.setText("De  Decimal a Binario ");

        jB_salir.setText("Salir");
        jB_salir.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jB_salirMouseClicked(evt);
            }
        });

        jB_limpiar.setText("Limpiar ");
        jB_limpiar.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jB_limpiarMouseClicked(evt);
            }
        });

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGap(38, 38, 38)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(jL_Decimal)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jTxt_numero, javax.swing.GroupLayout.PREFERRED_SIZE, 160, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(jL_Binario)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(jTxt_binario, javax.swing.GroupLayout.PREFERRED_SIZE, 160, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addGap(0, 36, Short.MAX_VALUE))
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 194, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(109, 109, 109))
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGap(27, 27, 27)
                .addComponent(jB_Convertir)
                .addGap(42, 42, 42)
                .addComponent(jB_limpiar)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(jB_salir)
                .addGap(72, 72, 72))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGap(9, 9, 9)
                .addComponent(jLabel3)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jL_Decimal, javax.swing.GroupLayout.PREFERRED_SIZE, 38, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jTxt_numero, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(50, 50, 50)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jL_Binario, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jTxt_binario, javax.swing.GroupLayout.PREFERRED_SIZE, 38, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(55, 55, 55)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jB_Convertir)
                    .addComponent(jB_salir)
                    .addComponent(jB_limpiar))
                .addGap(61, 61, 61))
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );

        pack();
    }// </editor-fold>                        

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

    private void jB_ConvertirMouseClicked(java.awt.event.MouseEvent evt) {                                          
        // TODO add your handling code here:
     
   setDividendo(StringToint(jTxt_numero.getText()));//objetomodelo   muestra  el valor del numero1
     
       
       convercion();//inicializamos compara para que realize la  accion de  el  metodo en modelo
        jTxt_binario.setText("" + getBinario());// se trae a  getBianrio por que es  el reultado que se rteornara
    }                                         

    private void jB_salirMouseClicked(java.awt.event.MouseEvent evt) {                                      
        // TODO add your handling code here:
        System.exit(0);
    }                                     

    private void jB_limpiarMouseClicked(java.awt.event.MouseEvent evt) {                                        
        // TODO add your handling code here:
        jTxt_numero.setText("");//vaciar lacaja  de texto numero
        jTxt_binario.setText("");//vaciar  la caja  de texto binario 
    }                                       

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(Binario.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(Binario.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(Binario.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(Binario.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
              
                new Binario().setVisible(true);
    
            }
        });
    }

    // Variables declaration - do not modify                     
    private javax.swing.JButton jB_Convertir;
    private javax.swing.JButton jB_limpiar;
    private javax.swing.JButton jB_salir;
    private javax.swing.JLabel jL_Binario;
    private javax.swing.JLabel jL_Decimal;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JTextField jTxt_binario;
    private javax.swing.JTextField jTxt_numero;
    // End of variables declaration                   

    public void setDivisor(int divisor) {
        this.divisor = divisor;
    }

 public String getBinario() {//get Binario
        return binario;
    }
public void setDividendo(int dividendo) {//set dividiendo
        this.dividendo = dividendo;
    }
public int  StringToint (String cad){//metodo  que  convierte  de  string  a entero 
    try{
    return Integer.parseInt (cad);
} catch(NumberFormatException a){
JOptionPane.showMessageDialog(null,"Por favor ingrese un numero");}
        return 0;
}
 
}




pasemos a el diseño  así les tendrá que quedar :


Y en ejecución mostrara el  siguiente proceso:

No se olviden  de  comentar que les pareció  el pequeño  ejemplo.

No hay comentarios:

Publicar un comentario