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!

1

1 Respuesta

30.650 pts. Ingeniero Técnico industrial especialidad Electricidad

En primer lugar, el println(Separador) de la linea 4 sobra. Después, yo creo que te has equivocado en la linea 15, donde dice driveIn [j][k] debería decir driveIn [j][k]

Saludos

Querrás decir driveIn[j][que] verdad?
Ya pude lograr que se ingresara un dato (numero) n veces ordenadamente en el array. Como hago para que se sigan ingresando a partir de la posición n+1? (Todos los que no tienen datos están en 0. Estaría bien tomar el primer 0 como referencia para que empiece a escribir?

Gracias

Es un criterio tan bueno como otro cualquiera, pero tienes que asegurarte que 0 no es un valor valido.

Ya pude hacer que funcione. Hice que busque el 0. Si no quedan productos, salta de linea y de columna y así sucesivamente. Gracias.

¿Podrías cerrar la pregunta y puntarla?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas