Foros del Web » Programación para mayores de 30 ;) » Java »

Asignar array a un objeto

Estas en el tema de Asignar array a un objeto en el foro de Java en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 07/02/2018, 09:49
 
Fecha de Ingreso: mayo-2015
Mensajes: 30
Antigüedad: 8 años, 11 meses
Puntos: 0
Asignar array a un objeto

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 original
  1. package javaapplication36;
  2.  
  3. import java.util.InputMismatchException;
  4. import java.util.Scanner;
  5.  
  6. public class javaapplication36 {
  7.  
  8.     public static void main(String[] args) {
  9.  
  10.         Scanner teclado = new Scanner(System.in);
  11.  
  12.         boolean salir = false;
  13.         int opcion;
  14.  
  15.         Empleado empleado = new Empleado();
  16.  
  17.         Dieta dieta = new Dieta();
  18.  
  19.         Empleado arrayEmpleado [] = new Empleado [5];
  20.  
  21.         Dieta arrayDieta [] = new Dieta [5];
  22.  
  23.         int contadorEmpleado = 0;
  24.  
  25.         int contadorDieta = 0;
  26.  
  27.         while (!salir) {
  28.  
  29.             System.out.println("1. Dar alta Empleado");
  30.             System.out.println("2. Asignar Dieta");
  31.             System.out.println("3. Consultar Empleado");
  32.             System.out.println("5. Salir");
  33.  
  34.             String dni,nombre,fecha,descripcion,cargo;
  35.             double nomina,importe;
  36.  
  37.             try {
  38.  
  39.                 System.out.println("Escribe una de las opciones");
  40.                 opcion = teclado.nextInt();
  41.  
  42.                 switch (opcion) {
  43.                     case 1:
  44.  
  45.                         if (contadorEmpleado < arrayEmpleado.length) {
  46.  
  47.                         System.out.print("Introduce el dni del empleado : ");
  48.                         dni = teclado.next();
  49.  
  50.                         System.out.print("Introduce el nombre del empleado : ");
  51.                         nombre = teclado.next();
  52.  
  53.                         System.out.print("Introduce el cargo del empleado :  ");
  54.                         cargo = teclado.next();
  55.  
  56.                         System.out.print("Introduce la nomina del empleado :  ");
  57.                         nomina = teclado.nextDouble();
  58.  
  59.                         empleado = new Empleado(dni,nombre,cargo,nomina);
  60.  
  61.                         arrayEmpleado [contadorEmpleado] = empleado;
  62.                         contadorEmpleado++;
  63.  
  64.                         System.out.print("Empleado registrada correctamente");
  65.                         System.out.println();
  66.  
  67.                     }else{
  68.  
  69.                         System.out.print("Se han alcanzado el máximo de empleados registrados");
  70.                         System.out.println();
  71.                     }  
  72.  
  73.                         break;
  74.  
  75.                     case 2:
  76.  
  77.                         if (contadorDieta < arrayDieta.length) {
  78.  
  79.                         System.out.print("Introduce la fecha de la dieta : ");
  80.                         fecha = teclado.next();
  81.  
  82.                         System.out.print("Introduce la descripcion de la dieta : ");
  83.                         descripcion = teclado.next();
  84.  
  85.                         System.out.print("Introduce el importe de la dieta :  ");
  86.                         importe = teclado.nextDouble();
  87.  
  88.                         dieta = new Dieta(fecha,descripcion,importe);
  89.  
  90.                         arrayDieta [contadorDieta] = dieta;
  91.                         contadorEmpleado++;
  92.  
  93.                         System.out.print("Dieta registrada correctamente");
  94.                         System.out.println();
  95.  
  96.                     }else{
  97.  
  98.                         System.out.print("Se han alcanzado el máximo de dietas registradas");
  99.                         System.out.println();
  100.                     }  
  101.  
  102.                     break;
  103.  
  104.                     case 3:
  105.  
  106.                         if (contadorEmpleado > 0){
  107.  
  108.                             for (int i = 0; i < contadorEmpleado; i++){
  109.  
  110.                                 System.out.print(arrayEmpleado[i]);
  111.                                  System.out.println();
  112.                             }
  113.                         System.out.println();
  114.                         }
  115.  
  116.                         break;
  117.  
  118.                     case 4:
  119.                         salir = true;
  120.                         break;
  121.                     default:
  122.                         System.out.println("Solo números entre 1 y 4");
  123.                 }
  124.             } catch (InputMismatchException e) {
  125.                 System.out.println("Debes insertar un número");
  126.                 teclado.next();
  127.             }
  128.         }
  129.     }
  130. }

Empleado

Código Java:
Ver original
  1. package javaapplication36;
  2.  
  3. public class Empleado {
  4.  
  5.     private String dni;
  6.     private String nombre;
  7.     private String cargo;
  8.     private double nomina;
  9.  
  10.     public Empleado(String dni, String nombre, String cargo, double nomina) {
  11.         this.dni = dni;
  12.         this.nombre = nombre;
  13.         this.cargo = cargo;
  14.         this.nomina = nomina;
  15.     }
  16.  
  17.     public Empleado() {
  18.     }
  19.  
  20.     public String getDni() {
  21.         return dni;
  22.     }
  23.  
  24.     public void setDni(String dni) {
  25.         this.dni = dni;
  26.     }
  27.  
  28.     public String getNombre() {
  29.         return nombre;
  30.     }
  31.  
  32.     public void setNombre(String nombre) {
  33.         this.nombre = nombre;
  34.     }
  35.  
  36.     public String getCargo() {
  37.         return cargo;
  38.     }
  39.  
  40.     public void setCargo(String cargo) {
  41.         this.cargo = cargo;
  42.     }
  43.  
  44.     public double getNomina() {
  45.         return nomina;
  46.     }
  47.  
  48.     public void setNomina(double nomina) {
  49.         this.nomina = nomina;
  50.     }
  51.  
  52.     @Override
  53.     public String toString() {
  54.         return "Empleado{" + "dni=" + dni + ", nombre=" + nombre + ", cargo=" + cargo + ", nomina=" + nomina + '}';
  55.     }
  56. }

Dieta

Código Java:
Ver original
  1. package javaapplication36;
  2.  
  3. public class Dieta {
  4.  
  5.     String fecha;
  6.     String descripcion;
  7.     double importe;
  8.  
  9.     public Dieta(String fecha, String descripcion, double importe) {
  10.         this.fecha = fecha;
  11.         this.descripcion = descripcion;
  12.         this.importe = importe;
  13.     }
  14.  
  15.     public Dieta() {
  16.     }
  17.  
  18.     public String getFecha() {
  19.         return fecha;
  20.     }
  21.  
  22.     public void setFecha(String fecha) {
  23.         this.fecha = fecha;
  24.     }
  25.  
  26.     public String getDescripcion() {
  27.         return descripcion;
  28.     }
  29.  
  30.     public void setDescripcion(String descripcion) {
  31.         this.descripcion = descripcion;
  32.     }
  33.  
  34.     public double getImporte() {
  35.         return importe;
  36.     }
  37.  
  38.     public void setImporte(double importe) {
  39.         this.importe = importe;
  40.     }
  41.  
  42.     @Override
  43.     public String toString() {
  44.         return "Dieta{" + "fecha=" + fecha + ", descripcion=" + descripcion + ", importe=" + importe + '}';
  45.     }
  46. }
  #2 (permalink)  
Antiguo 08/02/2018, 02:45
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 7 meses
Puntos: 188
Respuesta: Asignar array a un objeto

Pues yo empezaría por utilizar un hashmap para guardar los empleados, utilizando el DNI como clave para tener acceso directo al elemento si existe. Pero tómate tu tiempo para entender como funcionan los hashmaps porque te veo bastante verde en el manejo de arrays.
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}

Etiquetas: objeto
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:20.