Java - Java consulta y ayuda

 
Vista:

Java consulta y ayuda

Publicado por zaatancito (1 intervención) el 28/07/2023 15:11:40
Diseñe la clase Trabajador en el paquete clase con los atributos privados: código (int), nombre (String), sueldoBruto (double); un constructor que inicialice los atributos privados, los métodos de acceso público set/get y el método sueldoNeto (0.80*sueldoBruto) .

- Implemente la clase ArregloTrabajadores en el paquete arreglo con lo siguiente:
- Atributo privado Array de tipo Trabajador
- Constructor que cree el Array con 10 valores y autogenere 4 ingresos.
- Método tamaño que retorne la cantidad de trabajadores registrados hasta ese momento.
- Método obtener que reciba una posición y retorne el Trabajador respectivo.
- Método que permita poder hacer creer mi arreglo.
- Método adicionar que reciba un objeto tipo Trabajador y lo agregue al arreglo

Agregue el método complementario que retorne:

- Sumatoria de todos los sueldos netos
- Mayor sueldo neto
- Cantidad de trabajadores con sueldo neto mayor a 2900

En la clase principal, declare: ArregloTrabajadores at = new ArregloTrabajadores(); Luego implemente:

- Pulsación del botón Adicionar que agregue un nuevo trabajador creado.
- Pulsación del botón Reportar que muestre los resultados de los métodos complementarios

Clase Trabajador

public class Trabajador {
// Atributos privados
private int codigo;
private String nombre;
private double sueldoBruto;

// Constructor
public Trabajador(int codigo, String nombre, double sueldoBruto) {
this.codigo = codigo;
this.nombre = nombre;
this.sueldoBruto = sueldoBruto;
}

// Métodos de acceso (getters y setters)
public int getCodigo() {
return codigo;
}

public void setCodigo(int codigo) {
this.codigo = codigo;
}

public String getNombre() {
return nombre;
}

public void setNombre(String nombre) {
this.nombre = nombre;
}

public double getSueldoBruto() {
return sueldoBruto;
}

public void setSueldoBruto(double sueldoBruto) {
this.sueldoBruto = sueldoBruto;
}

// Método para calcular el sueldo neto
public double sueldoNeto() {
return 0.80 * sueldoBruto;
}
}

En la clase ArregloTrabajador no tengo claro como usar solo el Array agradezco su ayuda
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
Imágen de perfil de Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Java consulta y ayuda

Publicado por Kabuto (1381 intervenciones) el 30/07/2023 00:21:51
Hola.

Así es como puedes crear el array e inicializarlo con 10 elementos.
Te muestro también los dos primeros métodos que se pide.

Intenta hacer tú el resto. Si te atascas o tienes dudas, vuelve a consultar y te ayudamos a completar.
Saludos.

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
public class ArregloTrabajador {
 
	private Trabajador[] trabajadores;
 
	public ArregloTrabajador() {
		trabajadores = new Trabajador[10];
		trabajadores[0] = new Trabajador(1001, "Pedro Ruiz", 1300.00);
		trabajadores[1] = new Trabajador(1002, "Sara Lucas", 1400.00);
		trabajadores[2] = new Trabajador(1003, "Luis Olmeda", 1250.00);
		trabajadores[3] = new Trabajador(1004, "Santos Omar", 1300.00);
		trabajadores[4] = new Trabajador(1005, "Patricia Carrasco", 1125.00);
		trabajadores[5] = new Trabajador(1006, "Manuel Lopez", 1450.00);
		trabajadores[6] = new Trabajador(1007, "Pedro Ruiz", 1300.00);
		trabajadores[7] = new Trabajador(1008, "Sara Lucas", 1400.00);
		trabajadores[8] = new Trabajador(1009, "Carmen Robledo", 1350.00);
		trabajadores[9] = new Trabajador(1010, "Christian Hidalgo", 1200.00);
	}
 
	public int getTamanio() {
		return trabajadores.length;
	}
 
	public Trabajador obtener(int posicion) {
		if (posicion < 0 || posicion >= getTamanio())
			return null;
		else
			return trabajadores[posicion];
	}
 
}
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
Imágen de perfil de Richtofen

Java consulta y ayuda

Publicado por Richtofen (18 intervenciones) el 06/08/2023 10:51:23
Asumiendo que tienes la clase Trabajdor bien y con los nombres apropiados, lo que te piden sería algo tal que:

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
public class ArregloTrabajadores
{
 
  private static final int NUM_TRABAJADORES = 10;
  private static final int NUM_INGRESOS = 4;
 
  private Trabajador[] arrayTrabajadores;
 
  public ArregloTrabajadores()
  {
    this.arrayTrabajadores = new Trabajador[NUM_TRABAJADORES];
    String[] nombres = {"Paco", "Laura", "Dani", "Paula"};
    double[] sueldos = {2000.0, 2500.0, 3000.0, 1800.0};
    for (int i = 0; i < NUM_INGRESOS; i++)
    {
      this.arrayTrabajadores[i] = new Trabajador(i, nombres[i], sueldos[i]);
      System.out.println("Añadido trabajador: " + this.arrayTrabajadores[i].toString());
    }
  }
 
  public int cantidadActualDeTrabajadores()
  {
    return this.arrayTrabajadores != null ? this.arrayTrabajadores.length : null;
  }
 
  public Trabajador getTrabajadorPorPosicion(int pos)
  {
    if(this.arrayTrabajadores == null || (this.arrayTrabajadores.length == 0))
    {
      System.err.println("ERROR: no hay trabajdores registrados");
      return null;
    }
    else
      return this.arrayTrabajadores[pos];
  }
 
  public void incrementaTrabajadores(Trabajador trabajador)
  {
    // Se asumen que los chequeos se han pasado
    int posVacia = -1;
    boolean hayEspacio = false;
    for (int i = 0; i < this.arrayTrabajadores.length; i++)
    {
      if(this.arrayTrabajadores[i] == null)
      {
        hayEspacio = true;
        posVacia = i;
        break;
      }
    }
    if(hayEspacio)
      this.arrayTrabajadores[posVacia] = trabajador;
    else
    {
      System.out.println("Maxima longitud alcanzada: Se expande el arreglo");
      Trabajador[] nuevoArreglo = new Trabajador [this.arrayTrabajadores.length + 1];
      for (int i = 0; i < this.arrayTrabajadores.length; i++)
        nuevoArreglo[i] = this.arrayTrabajadores[i];
      nuevoArreglo[nuevoArreglo.length - 1] = trabajador;
      this.arrayTrabajadores = nuevoArreglo;
    }
    System.out.println("Añadido trabajador: " + trabajador.toString());
  }
 
  /**
   * Método que calcula los siguientes valores:
   *
   *  - Sumatoria de todos los sueldos netos
   *  - Mayor sueldo neto
   *  - Cantidad de trabajadores con sueldo neto mayor a 2900
   */
 public void reportar()
 {
  double totalSueldosNetos = 0.0;
  double maxSueldoNeto = -1*Double.MAX_VALUE;
  int numTrabajadoresOver3000 = 0;
  for (Trabajador trabajador : this.arrayTrabajadores)
  {
    /**
     * Este if es que como obligan a inicializar a 10 el array en el constructor, no
     * haya un NullPointerException con las demas posiciones si no hemos añadido
     * suficientes trabajadores */
    if(trabajador != null)
    {
      totalSueldosNetos += trabajador.sueldoNeto();
      if(trabajador.sueldoNeto() > maxSueldoNeto)
        maxSueldoNeto = trabajador.sueldoNeto();
      if(trabajador.sueldoNeto() > 2900.0)
        numTrabajadoresOver3000++;
    }
  }
  System.out.println("Sumatoria de todos los sueldos netos: $" + totalSueldosNetos);
  System.out.println("Mayor sueldo netos: $" + maxSueldoNeto);
  System.out.println("Cantidad de trabajadores con sueldo neto mayor a 2900: " + numTrabajadoresOver3000);
 }
 
  public static void main(String[] args)
  {
    ArregloTrabajadores a = new ArregloTrabajadores();
    a.incrementaTrabajadores(new Trabajador(6, "test", 8273.0));
    a.reportar();
    System.out.println("Fin");
  }
}

Intenta entenderlo antes de copiar, pegar y entregar xd
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
Imágen de perfil de Marce

Java consulta y ayuda

Publicado por Marce (1 intervención) el 13/08/2023 06:28:50
me equivoqué de botón, no se como borrar esta respuesta, jajaj
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