Bienvenida

Slide

lunes, 4 de enero de 2010

CODIGO DE IMPLEMENTACION (2da parte) nomina.java

Saludos nuevamente amigos, en esta ocacion continuaremos con la explicacion del codigo implementado para una nomina de trabajadores sencilla. La clase principal para esta parte es nomina.
Como vimos anteriormente en el uso de la sentencia switch se escogia 4, pues bien la primera opcion del caso 1 Ingreso de datos, podemos ver el codigo marcado de color azul, Al seleccionar la opcion 1 se ha el llamado a la funcion LeerDatos, con lo cual podemos ingresar los datos de nombre y sueldo.


El codigo implementado trabaja con la sentencia if y el uso de Pattern y Match, con esto logramos que los datos que se ingresen desde teclado, para el primer caso, sea solo nombre y no numeros, y para el segundo caso solo numeros y no letras, pues bien, en el caso de que no se ingrese lo pedido, se mostrara un mensaje de error, y realizando nuevamente la operacion para ingresar datos. Para ello se ha implementado la sentencia do while que permite realizar repetidas veces la misma operacion hasta que se satisfaga la condicion y pueda pasar a la siguiente linea que es el envio de datos n y s, donde n es la variable donde se almacena el nombre de usuario y es de tipo String, mientras que s ecd s la variable donde se almacena el valor del sueldo y es de tipo Double.

Para las opciones 2 y 3 de nuestro menu, en cada caso (2 y 3) se hace el llamado a la función muestra que permite imprimrir con ayuda del JOptionPane, los resultados del alamacenamiento de datos. (ver codigo de color naranja). En esta expresion se a hecho uso de la sentencia for que permite mostrar cada uno de los usuarios registrados y mostrar en un cuadro de dialogo uno por uno los usuarios y la cantidad de usuarios registrados. Esto es por el uso de JoptionPane.
Pero si trabajamos simplemente con System.println obtendriamos una mejor visualizacion de la nomina de empleados...


Es l oque se obtendria al elegir la opcion 3, cosa que con el JOptionPane no se pude mostrar completamente, para ello deberiamos usar Jframe. pero bueno, quizas mas adelante veamos una implementacion con dicha libreria.

Continuando con el codigo, la sentencia if nos ayuda a verificar si existen o no usuarios registrados, para cada caso realizara la accion correspondiente, siendo una de ellas en el caso de que no existan usuarios, mostrar un cuadro de dialogo que nos indica que no existen usuarios registrados.



En este codigo existen varias sentencias publicas, que son leidas desde otra expresion y llamadas a ejecutarse, mientras que cada funcion contiene expresiones privadas que solo dichas funciones pueden hacer uso de ellas. Como vemos hemos utilizado las mismas librerias y paquetes siendo muy importante tener el conocimiento de ellas.
import javax.swing.JOptionPane; //Libreria que sirve para utilizar JOptionPane import java.util.regex.*; // Libreria que permite usar Matcher y Pattern

//Una nomina esta compuesta de empleados(arreglo de)
public class nomina { //datos de la nomina private Empleado [] empleados; //la nomina "TIENE" empleados private int dim; // # de empleados
public nomina(int d) { empleados = new Empleado[d]; }
public nomina() { //constructor por default this(5); }
public void leerDatos(int limite) { String n,r ; double s; do { n=JOptionPane.showInputDialog("Ingresa nombre empleado["+(limite+1)+"]: "); Pattern p=Pattern.compile("[0-9]"); Matcher m=p.matcher(n); if((n != null) && (m.find())) { JOptionPane.showMessageDialog(null,"ERROR\n\n Elija por favor una opcion...."," ERROR",JOptionPane.WARNING_MESSAGE); } }while(n=="[a-zA-Z]"); do { s=Double.parseDouble(r=JOptionPane.showInputDialog("Ingrese el sueldo")); }while ((r == null)&&(r=="[a-zA-Z]") ); empleados[limite]= new Empleado(n, s); }
public void Muestra(int limite,boolean Nomina) { if(limite>0) { double DblNomina=0; for(int i=0;i { if (Nomina==true) DblNomina+=empleados[i].getSueldo(); JOptionPane.showMessageDialog(null,"Registro "+(i+1)+" de "+limite+"\n\n\tNombre: "+empleados[i].getNombre()+"\n\tSueldo: "+empleados[i].getSueldo()+"----\n"); } if (Nomina==true) JOptionPane.showMessageDialog(null,"\nNomina total a Pagar:"+DblNomina+"\n"); } else JOptionPane.showMessageDialog(null,"No Hay Registros Disponibles!...\n"); }
} //clase nomina

En nuestra tercera y ultima entrega del desarrollo del proyecto continuaremos con lo que es la clase empleado, que nos permitira realizar acciones correspondientes a almacenamiento de datos, llamado de funciones, entre otros.

Saludos.

No hay comentarios:

Publicar un comentario

Dejanos tu comentario acerca de las entradas y desarrollo del proyecto, sera de vital ayuda para seguir realizando un buen proyecto.
SALUDOS!!!