Método para insertar series de datos en un array de 3 dimensiones a partir de cierto número.
Hola!
Primero que nada gracias.
La idea es implementar un método capaz de insertar n series de números
(cada número es un código de identificación de un objeto) en forma ordenada en
una matriz de 3 dimensiones. He llegado a que coloque la primer serie,
pero luego lo sobreescribe. Utilicé un for para una dimensión, adentro otro for
y adentro un ultimo for, para recorrer todo el array.
Además, en cada fila de las matrices que quedan puede haber solo una serie de
números. Caso contrario queda todo 0.
Dejo debajo el código utilizado.
for (int e = 0; e < numProductos; e++) {
listaProductos.add(new Producto().creaProducto());
Producto.setContador(Producto.getContador() + 1);
System.out.println(Separador);
}
int contador = 1;
for (int l = 0; l < listaProductos.size(); l++) {
//Recorre el array driveIn y le asigna el código del producto a las posiciones
en las que puede entrar un producto.
for (i = 0; i < profundidad; i++) {
for (j = 0; j < largo; j++) {
for (que = 0; que < ancho; que++) {
if (listaProductos.get(l).quedanProductos()) {
listaProductos.get(l).setPosicionFinal(contador);
driveIn[j][k] = listaProductos.get(l).getCodigo();
listaProductos.get(l).setCantidad(listaProductos.get(l).getCantidad() - 1);
}
else{
k=ancho; //Esto haría que se vaya de la fila.
}
contador++;
}
}
}
}
Tengo un método para imprimir el array también:
for (int i = 0; i < largo; i++) {
System.out.println("Piso " + (i + 1));
System.out.println("");
for (int j = 0; j < ancho; j++) {
for (int k = 0; k < profundidad; k++) {
System.out.print(driveIn[j][k] + " ");
}
System.out.println("");
}
System.out.println(Separador);
}
Muchas gracias!