En el siguiente ejemplo consta de dar de alta a empleados en un array y también las dietas de los empleados, necesito asignarle dietas a los empleados, por ejemplo al introducir una nueva dieta se pida el numero de dni del empleado para asignarsela.
¿Cómo se podría hacer?.
Main
Código Java:
Ver originalpackage 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");
}else{
System.
out.
print("Se han alcanzado el máximo de empleados registrados"); }
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");
}else{
System.
out.
print("Se han alcanzado el máximo de dietas registradas"); }
break;
case 3:
if (contadorEmpleado > 0){
for (int i = 0; i < contadorEmpleado; i++){
System.
out.
print(arrayEmpleado
[i
]); }
}
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();
}
}
}
}
Empleado
Código Java:
Ver originalpackage javaapplication36;
public class Empleado {
private double nomina;
this.dni = dni;
this.nombre = nombre;
this.cargo = cargo;
this.nomina = nomina;
}
public Empleado() {
}
return dni;
}
public void setDni
(String dni
) { this.dni = dni;
}
return nombre;
}
public void setNombre
(String nombre
) { this.nombre = nombre;
}
return cargo;
}
public void setCargo
(String cargo
) { this.cargo = cargo;
}
public double getNomina() {
return nomina;
}
public void setNomina(double nomina) {
this.nomina = nomina;
}
@Override
return "Empleado{" + "dni=" + dni + ", nombre=" + nombre + ", cargo=" + cargo + ", nomina=" + nomina + '}';
}
}
Dieta
Código Java:
Ver originalpackage javaapplication36;
public class Dieta {
double importe;
public Dieta
(String fecha,
String descripcion,
double importe
) { this.fecha = fecha;
this.descripcion = descripcion;
this.importe = importe;
}
public Dieta() {
}
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
return "Dieta{" + "fecha=" + fecha + ", descripcion=" + descripcion + ", importe=" + importe + '}';
}
}