In the following example consists of discharging employees in an array and also the diets of employees, I need to assign diets to employees, for example when entering a new diet the employee's ID number is requested to assign it.
How could it be done?
Main
package javaapplication36;
import java.util.InputMismatchException;
import java.util.Scanner;
public class javaapplication36 {
public static void main(String[] args) {
Scanner teclado = new Scanner(System.in);
boolean salir = false;
int opcion;
Empleado empleado = new Empleado();
Dieta dieta = new Dieta();
Empleado arrayEmpleado [] = new Empleado [5];
Dieta arrayDieta [] = new Dieta [5];
int contadorEmpleado = 0;
int contadorDieta = 0;
while (!salir) {
System.out.println("1. Dar alta Empleado");
System.out.println("2. Asignar Dieta");
System.out.println("3. Consultar Empleado");
System.out.println("5. Salir");
String dni,nombre,fecha,descripcion,cargo;
double nomina,importe;
try {
System.out.println("Escribe una de las opciones");
opcion = teclado.nextInt();
switch (opcion) {
case 1:
if (contadorEmpleado < arrayEmpleado.length) {
System.out.print("Introduce el dni del empleado : ");
dni = teclado.next();
System.out.print("Introduce el nombre del empleado : ");
nombre = teclado.next();
System.out.print("Introduce el cargo del empleado : ");
cargo = teclado.next();
System.out.print("Introduce la nomina del empleado : ");
nomina = teclado.nextDouble();
empleado = new Empleado(dni,nombre,cargo,nomina);
arrayEmpleado [contadorEmpleado] = empleado;
contadorEmpleado++;
System.out.print("Empleado registrada correctamente");
System.out.println();
}else{
System.out.print("Se han alcanzado el máximo de empleados registrados");
System.out.println();
}
break;
case 2:
if (contadorDieta < arrayDieta.length) {
System.out.print("Introduce la fecha de la dieta : ");
fecha = teclado.next();
System.out.print("Introduce la descripcion de la dieta : ");
descripcion = teclado.next();
System.out.print("Introduce el importe de la dieta : ");
importe = teclado.nextDouble();
dieta = new Dieta(fecha,descripcion,importe);
arrayDieta [contadorDieta] = dieta;
contadorEmpleado++;
System.out.print("Dieta registrada correctamente");
System.out.println();
}else{
System.out.print("Se han alcanzado el máximo de dietas registradas");
System.out.println();
}
break;
case 3:
if (contadorEmpleado > 0){
for (int i = 0; i < contadorEmpleado; i++){
System.out.print(arrayEmpleado[i]);
System.out.println();
}
System.out.println();
}
break;
case 4:
salir = true;
break;
default:
System.out.println("Solo números entre 1 y 4");
}
} catch (InputMismatchException e) {
System.out.println("Debes insertar un número");
teclado.next();
}
}
}
}
Employee
package javaapplication36;
public class Empleado {
private String dni;
private String nombre;
private String cargo;
private double nomina;
public Empleado(String dni, String nombre, String cargo, double nomina) {
this.dni = dni;
this.nombre = nombre;
this.cargo = cargo;
this.nomina = nomina;
}
public Empleado() {
}
public String getDni() {
return dni;
}
public void setDni(String dni) {
this.dni = dni;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getCargo() {
return cargo;
}
public void setCargo(String cargo) {
this.cargo = cargo;
}
public double getNomina() {
return nomina;
}
public void setNomina(double nomina) {
this.nomina = nomina;
}
@Override
public String toString() {
return "Empleado{" + "dni=" + dni + ", nombre=" + nombre + ", cargo=" + cargo + ", nomina=" + nomina + '}';
}
}
Diet
package javaapplication36;
public class Dieta {
String fecha;
String descripcion;
double importe;
public Dieta(String fecha, String descripcion, double importe) {
this.fecha = fecha;
this.descripcion = descripcion;
this.importe = importe;
}
public Dieta() {
}
public String getFecha() {
return fecha;
}
public void setFecha(String fecha) {
this.fecha = fecha;
}
public String getDescripcion() {
return descripcion;
}
public void setDescripcion(String descripcion) {
this.descripcion = descripcion;
}
public double getImporte() {
return importe;
}
public void setImporte(double importe) {
this.importe = importe;
}
@Override
public String toString() {
return "Dieta{" + "fecha=" + fecha + ", descripcion=" + descripcion + ", importe=" + importe + '}';
}
}