Professional Documents
Culture Documents
Objetivos
Familiarizarse con el uso de collections como mecanismos de almacenamiento de
informacin.
Desarrollo
1. Utilizar las collections adecuadas; es decir, decidir la ms ptima.
2. Realizar un programa que utilice collections para administrar los empleados de
una empresa junto con sus telefonos, especificamente que nos permita ingresar
los empleados. No pueden existir empleados iguales (4 puntos)
3. Realizar un programa que utilice collections para administrar los libros de una
biblioteca de tal forma de poder realizar las bsquedas de los mismos en base a
un cdigo (4 puntos).
4. Enviar zipeado fuentes conjuntamente con el documento que incluya las
capturas de pantalla de ejecucin
CDIGO FUENTE APLICACIN 4.1 ADMINISTRAR EMPLEADOS
//CLASE EMPLEADO
package ec.edu.cec.epn.java.fun.modelo;
import java.math.BigInteger;
public class Empleado {
//ATRIBUTOS DE LA CLASE EMPLEADO
Integer numeroCedulaEmpleado;
String nombreEmpleado;
String apellidoEmpleado;
BigInteger numeroTelefonoEmpleado;
String direccionEmpleado;
public Empleado() {
}
public String getNombreEmpleado() {
return nombreEmpleado;
}
public void setNombreEmpleado(String nombreEmpleado) {
this.nombreEmpleado = nombreEmpleado;
}
public String getApellidoEmpleado() {
return apellidoEmpleado;
}
public void setApellidoEmpleado(String apellidoEmpleado) {
this.apellidoEmpleado = apellidoEmpleado;
}
public Integer getNumeroCedulaEmpleado() {
return numeroCedulaEmpleado;
}
public void setNumeroCedulaEmpleado(Integer numeroCedulaEmpleado) {
this.numeroCedulaEmpleado = numeroCedulaEmpleado;
}
public BigInteger getNumeroTelefonoEmpleado() {
return numeroTelefonoEmpleado;
}
public void setNumeroTelefonoEmpleado(BigInteger
numeroTelefonoEmpleado) {
this.numeroTelefonoEmpleado = numeroTelefonoEmpleado;
}
public String getDireccionEmpleado() {
return direccionEmpleado;
}
public void setDireccionEmpleado(String direccionEmpleado) {
this.direccionEmpleado = direccionEmpleado;
}
//IMPRIME LOS VALORES QUE CONTIENE UN LA INSTANCIA DE UN OBJETO
EMPLEADO
@Override
public String toString() {
return "IMPRIMIENDO DATOS DEL EMPLEADO\n"+
"Numero de Cedula: " + this.numeroCedulaEmpleado +"\n"+
"Nombres: " + this.nombreEmpleado +"\n"+
"Apellidos: " + this.apellidoEmpleado +"\n"+
"Numero de Telefono: " + this.numeroTelefonoEmpleado +"\n"+
"Direccion: " + this.direccionEmpleado+"\n";
}
//EQUALS PARA COMPARA QUE NO SE REPITA UN MISMO EMPLEADO SEGUN
SU NUMERO DE CEDULA
public boolean equals(Object o){
if(o instanceof Empleado){
if(((Empleado)o).getNumeroCedulaEmpleado().equals(this.getNumeroCedulaEmple
ado())){
System.out.println("Numero de cedula ya existe");
return true;
}
else{
return false;
}
}
else{
return false;
}
}
empleadosSet.add(empleado1);
empleadosSet.add(empleado2);
empleadosSet.add(empleado3);
}
}
existe");
}
}
System.out.println("El empleado con ese numero de cedula no
return false;
}
//MODIFICA UN EMPLEADO DE LA LISTA POR SU NUMERO DE CEDULA
public boolean modificarEmpleado(Integer numeroCedulaEmpleado,String
nombreEmpleado,String apellidoEmpleado,BigInteger
numeroTelefonoEmpleado,String direccionEmpleado){
for(Empleado e : AlmacenamientoEmpleado.empleadosSet){
if(e.getNumeroCedulaEmpleado().equals(numeroCedulaEmpleado)){
e.setNombreEmpleado(nombreEmpleado);
e.setApellidoEmpleado(apellidoEmpleado);
e.setNumeroTelefonoEmpleado(numeroTelefonoEmpleado);
e.setDireccionEmpleado(direccionEmpleado);
return true;
}
}
System.out.println("El empleado con ese numero de cedula no
existe");
return false;
}
return false;
}
//FUNCION PARA VALIDAR QUE LOS DATOS INGRESADOS DE SEAN
BIGINTEGER PARA LOS NUMEROS DE TELEFONO PARA PODER INGRESAR CELULARES
public boolean validarBigInteger(String recibeDelTeclado){
try {
BigInteger(recibeDelTeclado);
return true;
} catch (NumberFormatException nfe) {
return false;
}
}
}
break lazoDeLecturaDeDatos;
default:
System.out.println("OPCION DESCONOCIDA");
break;
}
}
recibeDelTeclado= lectorTeclado.nextLine();
}while(empleadosManager.validarInteger(recibeDelTeclado)==false)
numeroCedulaEmpleado=Integer.parseInt(recibeDelTeclado);
do{
Empleado : ");
se);
recibeDelTeclado= lectorTeclado.nextLine();
}while(empleadosManager.validarBigInteger(recibeDelTeclado)==fal
numeroTelefonoEmpleado= new BigInteger(recibeDelTeclado);
System.out.println("Ingrese la Direccion del Empleado : ");
recibeDelTeclado= lectorTeclado.nextLine();
direccionEmpleado=recibeDelTeclado;
empleado.setNombreEmpleado(nombreEmpleado);
empleado.setApellidoEmpleado(apellidoEmpleado);
empleado.setNumeroCedulaEmpleado(numeroCedulaEmpleado);
empleado.setNumeroTelefonoEmpleado(numeroTelefonoEmpleado);
empleado.setDireccionEmpleado(direccionEmpleado);
if(empleadosManager.ingresarEmpleado(empleado)){
System.out.println("Empleado Guardado con exito");
}else{
System.out.println("No se pudo guardar el empleado");
}
}
private void manejarBusquedaDeEmpleado(Scanner lectorTeclado) {
String recibeDelTeclado;
Integer numeroCedulaEmpleado;
do{
: ");
;
recibeDelTeclado= lectorTeclado.nextLine();
}while(empleadosManager.validarInteger(recibeDelTeclado)==false)
numeroCedulaEmpleado=Integer.parseInt(recibeDelTeclado);
empleadosManager.buscarEmpleado(numeroCedulaEmpleado);
}
private void manejarEliminacionDeEmpleado(Scanner lectorTeclado) {
String recibeDelTeclado;
Integer numeroCedulaEmpleado;
do{
: ");
;
recibeDelTeclado= lectorTeclado.nextLine();
}while(empleadosManager.validarInteger(recibeDelTeclado)==false)
numeroCedulaEmpleado=Integer.parseInt(recibeDelTeclado);
if(empleadosManager.eliminarEmpleado(numeroCedulaEmpleado)){
System.out.println("Empleado eliminado con exito");
}else{
System.out.println("Empleado no pudo ser eliminado");
}
}
private void manejarModificacionDeEmpleado(Scanner lectorTeclado) {
String recibeDelTeclado;
String nombreEmpleado;
String apellidoEmpleado;
Integer numeroCedulaEmpleado;
BigInteger numeroTelefonoEmpleado;
String direccionEmpleado;
do{
: ");
numeroCedulaEmpleado=Integer.parseInt(recibeDelTeclado);
if(empleadosManager.buscarEmpleado(numeroCedulaEmpleado)){
System.out.println("Ingrese el Nombre del Empleado : ");
recibeDelTeclado= lectorTeclado.nextLine();
nombreEmpleado=recibeDelTeclado;
System.out.println("Ingrese el Apellido del Empleado : ");
recibeDelTeclado= lectorTeclado.nextLine();
apellidoEmpleado=recibeDelTeclado;
do{
System.out.println("Ingrese el Numero de Telefono del
Empleado : ");
recibeDelTeclado= lectorTeclado.nextLine();
}while(empleadosManager.validarBigInteger(recibeDelTeclado
)==false);
if(empleadosManager.modificarEmpleado(numeroCedulaEmpleado,nombreEmplead
o,apellidoEmpleado,numeroTelefonoEmpleado,direccionEmpleado)){
System.out.println("Empleado Modificado con exito");
}else{
System.out.println("No se pudo Modificar el
empleado");
}
}
}
}
//CLASE PRINCIPAL
package ec.edu.cec.epn.java.fun.vista;
import java.util.Scanner;
public class Principal {
public static void main(String args[]) {
}
}
return codigoLibro.hashCode();
import java.util.Map;
public class AlmacenamientoLibro {
//COLLECTION DONDE SE ALMACENARA UNA LISTA DE LIBROS
public static Map<Integer,Libro>tablaLibros= new
Hashtable<Integer,Libro>();
//bloque estatico
//ES UN BLOQUE DE DATOS PRECARGADOS
static{
Libro libro1= new Libro();
libro1.setCodigoLibro(1);
libro1.setTituloLibro("Ecuaciones Diferenciales");
libro1.setAutorLibro("Russell");
libro1.setAnioLibro(1990);
libro1.setEditorialLibro("MagaS.A.");
Libro libro2= new Libro();
libro2.setCodigoLibro(2);
libro2.setTituloLibro("Geografia del Ecuador");
libro2.setAutorLibro("Max");
libro2.setAnioLibro(1987);
libro2.setEditorialLibro("CastellanaS.A.");
Libro libro3= new Libro();
libro3.setCodigoLibro(3);
libro3.setTituloLibro("Historia Universal");
libro3.setAutorLibro("Paco Acosta");
libro3.setAnioLibro(1886);
libro3.setEditorialLibro("SantillanaS.A.");
tablaLibros.put(libro1.getCodigoLibro(), libro1);
tablaLibros.put(libro2.getCodigoLibro(), libro2);
tablaLibros.put(libro3.getCodigoLibro(), libro3);
}
}
if(e.getKey().equals(libro.getCodigoLibro())){
System.out.println("El Codigo del Libro ya existe");
return false;
}
}
System.out.println("Guardando el Libro con codigo: " +
libro.getCodigoLibro());
AlmacenamientoLibro.tablaLibros.put(libro.getCodigoLibro(), libro);
return true;
}
//BUSCA UN LIBRO EN LA LISTA SEGUN SU NUMERO DE CODIGO
public boolean buscarLibroPorCodigo(Integer codigoLibro){
for(Entry<Integer, Libro> e:
AlmacenamientoLibro.tablaLibros.entrySet()){
if(e.getKey().equals(codigoLibro)){
System.out.println("IMPRIMIENDO DATOS DEL LIBRO");
System.out.println("Codigo: " +
AlmacenamientoLibro.tablaLibros.get(codigoLibro).getCodigoLibro());
System.out.println("Titulo: " +
AlmacenamientoLibro.tablaLibros.get(codigoLibro).getTituloLibro());
System.out.println("Autor: " +
AlmacenamientoLibro.tablaLibros.get(codigoLibro).getAutorLibro());
System.out.println("Anio de Publicacion: " +
AlmacenamientoLibro.tablaLibros.get(codigoLibro).getAnioLibro());
System.out.println("Editorial: " +
AlmacenamientoLibro.tablaLibros.get(codigoLibro).getEditorialLibro());
return true;
}
}
System.out.println("El Libro con codigo: "+ codigoLibro + " no
existe");
return false;
}
//ELIMINA UN LIBRO DE LA LISTA SEGUN SU CODIGO
public boolean eliminarLibroPorCodigo(Integer codigoLibro){
for(Entry<Integer, Libro> e:
AlmacenamientoLibro.tablaLibros.entrySet()){
if(e.getKey().equals(codigoLibro)){
AlmacenamientoLibro.tablaLibros.remove(codigoLibro);
return true;
}
}
System.out.println("El Libro con codigo: "+ codigoLibro + " no
existe");
return false;
}
//MODIFICA LOS DATOS DE UN LIBRO DE LA LISTA SEGUN SU CODIGO
public boolean modificarLibroPorCodigo(Integer codigoLibro,String
tituloLibro,String autorLibro,Integer anioLibro,String editorialLibro ){
for(Entry<Integer, Libro> e: AlmacenamientoLibro.tablaLibros.entrySet()){
if(e.getKey().equals(codigoLibro)){
AlmacenamientoLibro.tablaLibros.get(codigoLibro).setTituloLibro(tituloLibro);
AlmacenamientoLibro.tablaLibros.get(codigoLibro).setAutorLibro(autorLibro);
AlmacenamientoLibro.tablaLibros.get(codigoLibro).setAnioLibro(anioLibro);
AlmacenamientoLibro.tablaLibros.get(codigoLibro).setEditorialLibro(editorialLibro);
return true;
}
}
return false;
}
//FUNCION PARA VALIDAR QUE LOS DATOS INGRESADOS DE SEAN NUMEROS
public boolean validarInteger(String recibeDelTeclado){
try {
Integer.parseInt(recibeDelTeclado);
return true;
} catch (NumberFormatException nfe) {
return false;
}
}
}
break lazoDeLecturaDeDatos;
default:
System.out.println("OPCION DESCONOCIDA");
break;
}
}
recibeDelTeclado= lectorTeclado.nextLine();
}while(librosManager.validarInteger(recibeDelTeclado)==false);
anioLibro=Integer.parseInt(recibeDelTeclado);
System.out.println("Ingrese el Editorial del Libro : ");
recibeDelTeclado= lectorTeclado.nextLine();
editorialLibro=recibeDelTeclado;
libro.setCodigoLibro(codigoLibro);
libro.setTituloLibro(tituloLibro);
libro.setAutorLibro(autorLibro);
libro.setAnioLibro(anioLibro);
libro.setEditorialLibro(editorialLibro);
if(librosManager.ingresarLibro(libro)){
System.out.println("libro guardado con exito");
}else{
System.out.println("libro no se pudo guardar");
}
}
private void manejarBusquedaDeLibro(Scanner lectorTeclado) {
String recibeDelTeclado;
Integer codigoLibro;
do{
if(librosManager.modificarLibroPorCodigo(codigoLibro,tituloLibro,autorLibro,anioLibr
o,editorialLibro)){
System.out.println("libro modificado con exito");
}else{
System.out.println("libro no se pudo modificar");
}
}
}
}
//CLASE PRINCIPAL
package ec.edu.cec.epn.java.fun.vista;
import java.util.Scanner;
public class Principal {
public static void main(String args[]) {