Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: @mayakoski en 19 de Abril 2020, 17:44

Título: ejercicios resueltos java clase vector api trimtosize ensurecapacity CU00922C
Publicado por: @mayakoski en 19 de Abril 2020, 17:44
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");
}
}
}

Título: Re:ejercicios resueltos java clase vector api trimtosize ensurecapacity CU00922C
Publicado por: Ogramar 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