Mi primera aplicación de Consola en Java utilizando Netbeans

En esta oportunidad les enseñare a realizar una simple aplicación por consola que valide un rut chileno.

Supondremos que ya iniciaron Netbeans, lo que deben hacer es ir a File-> New Project…

new project - netbeans

 

A continuación seleccionamos Java -> Java application -> Next…

java application

Esperamos que finalice la siguiente pantalla…

activating java se

 

Luego llenamos los datos de nuestro proyecto, como se muestra a continuación.

nombre proyecto

si realizaron correctamente los pasos anteriores deberían tener algo como lo siguiente:

menu principal netbeans

Ahora estamos en condiciones de comenzar nuestro primer proyecto. Para esto utilizaremos un método creado en el post Validador de Rut con Java (pueden hacer clic para ir al enlace).

Lo normal siguiendo un método de programación tradicional es hacer lo siguiente:

package quality;

public class AppValidaRut {

    public static void main(String[] args) {

        if(validarRut("1-9")){

            System.out.println("Rut Válido");//Este comando les permitirá imprimir por consola
        }else{
            System.out.println("Rut inválido");
        }
    }

    public static boolean validarRut(String rut) {

        boolean validacion = false;
        try {
            rut = rut.toUpperCase();
            rut = rut.replace(".", "");
            rut = rut.replace("-", "");
            int rutAux = Integer.parseInt(rut.substring(0, rut.length() - 1));

            char dv = rut.charAt(rut.length() - 1);

            int m = 0, s = 1;
            for (; rutAux != 0; rutAux /= 10) {
                s = (s + rutAux % 10 * (9 - m++ % 6)) % 11;
            }
            if (dv == (char) (s != 0 ? s + 47 : 75)) {
                validacion = true;
            }

        } catch (java.lang.NumberFormatException e) {
        } catch (Exception e) {
        }
        return validacion;
    }
}

Echo esto al ejecutar el programa obtendrán lo siguiente:

ejecutar proyecto resultado

 

Como pueden observar el programa funciona correctamente ya que el resultado es Rut Válido. Sin embargo este tipo de programación seria mas similar a programación estructurada o funcional.  La correcta manera de realizar una aplicación en java es utilizando orientación a objetos. Lo cual básicamente consiste en crear clases con funcionalidades determinadas. En este caso con un análisis simple, podemos observar que un validador de rut es una utilidad entonces lo mas recomendable es crear una clase llamada utilidad y poner nuestra función como parte de ella. Esto lo realizamos de la siguiente manera.

Clic derecho sobre nuestro package en este caso Quality, luego New y por ultimo Java Class

new class

 

En el siguiente paso le asignamos el nombre a nuestra clase y presionamos para agregarla a nuestro proyecto.

agregar new class

 

Deberíamos tener lo siguiente:

agregar new class 2

 

Lo siguiente es agregar nuestra función en la clase Utilidades como se muestra a continuación:

package quality;

public class Utilidades {
    
    public static boolean validarRut(String rut) {

        boolean validacion = false;
        try {
            rut = rut.toUpperCase();
            rut = rut.replace(".", "");
            rut = rut.replace("-", "");
            int rutAux = Integer.parseInt(rut.substring(0, rut.length() - 1));

            char dv = rut.charAt(rut.length() - 1);

            int m = 0, s = 1;
            for (; rutAux != 0; rutAux /= 10) {
                s = (s + rutAux % 10 * (9 - m++ % 6)) % 11;
            }
            if (dv == (char) (s != 0 ? s + 47 : 75)) {
                validacion = true;
            }

        } catch (java.lang.NumberFormatException e) {
        } catch (Exception e) {
        }
        return validacion;
    }
}

También debemos borrar la función de la clase principal AppValidaRut. Si lo realizamos nos quedara de la siguiente manera arrojando un error ya que no logra encontrar la función que utiliza para validar el rut.

error java

Para corregirlo solo debemos anteponer la clase Utilidades al nombre de la función. La clase debería quedar de la siguiente manera.

package quality;

public class AppValidaRut {
   
    public static void main(String[] args) {

        if(Utilidades.validarRut("1-9")){
            System.out.println("Rut Válido"); 
        }else{
            System.out.println("Rut inválido");
        }
    }
}

Ahora solo nos queda ejecutar el programa y obtener el siguiente resultado:

proyecto funcionando

Esperamos les sea de utilidad.

También te podría gustar...

13 Respuestas

  1. mauricio dice:

    Hola victor necesito ayuda
    me piden ingresar un rut con JOption pane, luego debe verificar el dígito verficador, una vez obtenido lo debe comparar con el ingresado por el usuario y son iguales un mensaje que diga rut valido en caso contrario rut invalido.
    Nose como hacerlo

  2. Patricio Abello dice:

    Genial, muchas gracias

  3. Jonathan Ramos Pérez dice:

    Amigo me podrías ayudar con una duda que tengo, te explico:

    quiero hacer un valida rut, pero tengo dos jTextField, uno se llama jtf_rut y el otro jtf_dv, la idea del programa es que en el primer JTextfield se ingrese el rut y en el segundo el dígito verificador y me valide si el RUT es correcto o no, serías tan amable de ayudarme, he intentado de todo pero no logro hacerlo :/

    Saludos y gracias por tu tiempo

  4. nmontenegro dice:

    como podria tomar los puntos al solo dar enter en JTextField.
    solo colocando 111111111 y al dar el enter de 11.111.111-1

    gracias

  5. alejandro dice:

    como validar rut en jtextfield de netbeans

    • Debes utilizar la función que aparece en el ejemplo anterior dentro del evento «FocusLost»

      
      private void jTextField1FocusLost(java.awt.event.FocusEvent evt) {
               if (!validarRut(jTextField1.getText())) {
      
                  JOptionPane.showMessageDialog(null, "Rut Inválido");
                  jTextField1.setText("");            
              }
      }
      

      Recuerda que para agregar el evento solo debes ir al modo diseño seleccionar el componente JTextField => propiedades => Eventos => LostFocus

      Saludos

  6. Jorge dice:

    Hola victor, eres de santiago?? Haces clases particulares???
    Tengo un ramo estructura de datos en java. Trabajo con netbeans, pero no entiendo nada!

  7. hola

    como puedo validar un rut con esta aplicación ??

    • Si miras el ejemplo hay una parte donde dice if(validarRut(«1-9»)) solo cambia el rut, de todas maneras este ejemplo va mas enfocado al aprendizaje de JAVA y no tanto a la funcionalidad del método de ejemplo.

      Saludos

Deja una respuesta

Tu dirección de correo electrónico no será publicada.