Dejo planteada mi solución al ejercicio de la entrega CU00922C del tutorial pdf de programación java avanzada de aprenderaprogramar.
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;
}
}
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");
}
}
}