Java - Gestionar una lista de registros

 
Vista:

Gestionar una lista de registros

Publicado por Jesús Garcia (1 intervención) el 17/12/2016 10:53:11
Hola, estoy haciendo un Ciclo formativo de Programacion, y me platean la siguiente práctica, estoy bastante perdido, a ver si alquien me puede ayudar, gracias:

Me piden crear una clase Empleado con su NIF, nombre y fecha de contrato. --> esta clase la tengo creada.

Me piden crear una clase que gestione los Empleados y que contenga una lista de objetos Empleado.
Tiene que tener un metodo para obtener un empleado por nif, otro que retorne una lista de empleados con el mismo mes de contrato.
¿me podeis ayudar? Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Gestionar una lista de registros

Publicado por Ruben (24 intervenciones) el 21/12/2016 10:08:50
Hola,

Te paso una clase Empleado con los valores que te piden y una clase GestionEmpleado con las siguientes funcionalidades :
-Crear Mas empleados
- Mostrar TODOS los empleados
- Mostrar el empleado por NIF
- Mostrar el empleado pr nombre
- Mostrar el empleado por fecha
- Mostrar lista de empleados por fecha...

Te puede valer este código si modificas lo siguiente (Mostrar empelados por fecha, modificarlo para que compare solo el mes y no la fecha completa)

Poner validaciones al ingresar un nuevo empelado si el NIF ya existe en la lista de empleados no dejar seguir

Que la fecha tenga un formato DD/MM/YY sino no se deja seguir (esto se puede hacer con espresiones regulares).

Espero que te sirva el código.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
public class Empleado {
 
	private String NIF;
	private String nombre;
	private String fecha;
 
	public Empleado (){};
 
	public Empleado(String nIF, String nombre, String fecha) {
		this.NIF = nIF;
		this.nombre = nombre;
		this.fecha = fecha;
	}
 
	public String getNIF() {
		return NIF;
	}
	public void setNIF(String nIF) {
		NIF = nIF;
	}
	public String getNombre() {
		return nombre;
	}
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	public String getFecha() {
		return fecha;
	}
	public void setFecha(String fecha) {
		this.fecha = fecha;
	}
 
}

CLASE EMPLEADO....

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
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;
 
	}
 
}


Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar