import java.util.ArrayList;
import java.util.Scanner;
public class GestiónEmpleados {
public static ArrayList<Empleado> Empleados = new ArrayList<Empleado>();
static Scanner sc = new Scanner(System.in);
public static String eleccion = "";
public static String nifintro="";
public static String nombreintro="";
public static String fechaintro="";
public static void main(String[] args) { crearEmpleados();
do{ System.out.println("Elija que opción quiere.."); System.out.println("Mostrar TODOS los empleados --> 1"); System.out.println("Mostrar empleado por NIF --> 2"); System.out.println("Mostrar empleado por Nombre --> 3"); System.out.println("Mostrar empelado por Fecha --> 4"); System.out.println("Mostrar lista de empelados por Fecha --> 5"); System.out.println("Crear otro empleado --> 6"); System.out.println("Salir --> 9"); eleccion = sc.nextLine();
Empleado emp;
ArrayList<Empleado>ArrEmp;
switch (eleccion) { case "1":
mostrarEmpleados();
break;
case "2":
System.out.println("Introduce un nif"); nifintro=sc.nextLine();
emp = ObtnerEmpleadoNif(nifintro);
mostrarEmpleado(emp);
break;
case "3":
System.out.println("Introduce un nombre"); nombreintro=sc.nextLine();
emp = ObtenerEmpleadoNombre(nombreintro);
mostrarEmpleado(emp);
break;
case "4":
System.out.println("Introduce una fecha"); fechaintro=sc.nextLine();
emp = ObtenerEmpleadoFechaContrato(fechaintro);
mostrarEmpleado(emp);
break;
case "5":
System.out.println("Introduce una fecha para devolver la lista de empleados"); fechaintro=sc.nextLine();
ArrEmp = ObetnerListaEmpleadoFechaContrato(fechaintro);
mostrarListaEmpleadosFecha(ArrEmp);
break;
case "6":
crearEmpleados();
break;
case "9":
System.out.println("Gracias por usar el sistema de gestión de Empleados :-)123456789p"); break;
default:
System.out.println("El valor introducido no es válido."); break;
}
}while(!eleccion.equals("9")); }
public static void crearEmpleados() { Empleado emp;
String nif;
String nombre;
String fechaContrato;
String letra = "";
do { System.out.println("introduzca el nif"); nif = sc.nextLine();
System.out.println("Introducza el nombre"); nombre = sc.nextLine();
System.out.println("introduzca la fecha de Contrato"); fechaContrato = sc.nextLine();
emp = new Empleado(nif, nombre, fechaContrato);
Empleados.add(emp);
System.out.println("¿Quiere introducir un nuevo empleado? (Y/N)"); letra = sc.nextLine();
} while ((letra.equals("y")) || (letra.equals("Y"))); mostrarEmpleados();
}
private static void mostrarEmpleados() { System.out.println("Mostrando..."); for (int i = 0; i < Empleados.size(); i++)
System.out.println("Nombre = " + Empleados.get(i).getNombre() + " NIF= " + Empleados.get(i).getNIF() + " Fecha= " + Empleados.get(i).getFecha());
}
private static void mostrarEmpleado(Empleado emp){ System.out.println("Nombre = " + emp.getNombre() + " NIF= " + emp.getNIF() + " Fecha= " + emp.getFecha());
}
private static void mostrarListaEmpleadosFecha(ArrayList<Empleado> emp){ for (int i = 0; i < emp.size(); i++)
System.out.println("Nombre = " + emp.get(i).getNombre() + " NIF= " + emp.get(i).getNIF() + " Fecha= " + emp.get(i).getFecha());
}
private static Empleado ObtnerEmpleadoNif(String nif) { Empleado empleado = new Empleado();
for (int i = 0; i < Empleados.size(); i++) { if (nif.equals(Empleados.get(i).getNIF())) { empleado = Empleados.get(i);
}
}
return empleado;
}
private static Empleado ObtenerEmpleadoNombre(String nombre) { Empleado empleado = new Empleado();
for (int i = 0; i < Empleados.size(); i++) { if (nombre.equals(Empleados.get(i).getNombre())) { empleado = Empleados.get(i);
}
}
return empleado;
}
private static Empleado ObtenerEmpleadoFechaContrato(String fechaContrato) { Empleado empleado = new Empleado();
for (int i = 0; i < Empleados.size(); i++) { if (fechaContrato.equals(Empleados.get(i).getFecha())) { empleado = Empleados.get(i);
}
}
return empleado;
}
private static ArrayList<Empleado> ObetnerListaEmpleadoFechaContrato(String fechaContrato){ Empleado empleado = new Empleado();
ArrayList<Empleado> emp = new ArrayList<Empleado>();
for (int i = 0; i < Empleados.size(); i++) { if (fechaContrato.equals(Empleados.get(i).getFecha())) { empleado = Empleados.get(i);
emp.add(empleado);
}
}
return emp;
}
}