Autor Tema: ejercicios resueltos java clase vector api trimtosize ensurecapacity CU00922C  (Leído 619 veces)

@mayakoski

  • Sin experiencia
  • *
  • Mensajes: 43
    • Ver Perfil
Dejo planteada mi solución al ejercicio de la entrega CU00922C del tutorial pdf de programación java avanzada de aprenderaprogramar.

Código: [Seleccionar]
package claseCU00922C;

public class Paquete {
private int idPaquete;
private int pesoPaquete;

public Paquete(int pIdPaquete, int pPesoPaquete) {
idPaquete = pIdPaquete;
pesoPaquete = pPesoPaquete;
}

public int getPesoPaquete() {
return pesoPaquete;
}
}


Código: [Seleccionar]
package claseCU00922C;

import java.util.Iterator;
import java.util.Random;
import java.util.Vector;

public class TestPaquete {
public static void main(String[] args) {
Vector<Paquete> v = new Vector<Paquete>(5, 1);
int cargaMaximaContenedor = v.capacity() * 100;
int pesoTotalCarga = 0;
for (int i = 0; i < 50; i++) {
v.add(new Paquete(i, (int) Math.round((Math.random() * (150 - 80)) + 80)));
}
cargaMaximaContenedor = v.capacity() * 100;

Iterator<Paquete> it = v.iterator();

while (it.hasNext()) {
Paquete paquete = (Paquete) it.next();
pesoTotalCarga = pesoTotalCarga + paquete.getPesoPaquete();

}

System.out.println("La capacidad del contenedor es: " + v.capacity()
+ " La nueva carga Maxima del contenedor es " + cargaMaximaContenedor + " El Contenedor tiene: "
+ v.capacity() + " paquetes, El peso total de los paquetes es " + pesoTotalCarga);

if (pesoTotalCarga > cargaMaximaContenedor) {
v.ensureCapacity((int) Math.ceil((double) pesoTotalCarga / (double) 100));
System.out.println("Se ha aumentado la capacidad a " + v.capacity()
+ " paquetes lo que permite cargar hasta " + v.capacity() * 100 + " kilos");

} else {
System.out.println("No ha sido necesario aumentar la capacidad");
}
}
}

« Última modificación: 24 de Septiembre 2020, 18:12 por Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2640
    • Ver Perfil
Re:ejercicios resueltos java clase vector api trimtosize ensurecapacity CU00922C
« Respuesta #1 en: 24 de Septiembre 2020, 18:13 »
Buenas, el código cumple con lo que se pedía para este ejercicio. En el hilo https://aprenderaprogramar.com/foros/index.php?topic=5893.0 podemos ver una solución que también cumple, pero con algunos detalles de la implementación distintos. Puede ser interesante comparar ambas implementaciones para quien tenga interés en ver distintas formas de plantear una solución a un problema. Salu2

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".