¿Cómo se establece la dimensión de una matriz cuando aún no la conoce en tiempo de compilación?D2: establecer las dimensiones de la matriz en el tiempo de ejecución
Por ejemplo: byte [] [] a = new byte [size] [size]; El compilador no lo permite. ¿Cómo se supone que debo inicializar la grilla? ¿A mano?
byte[] a1;
for (int i; i < size; i++) {
a1 ~= 0;
}
byte[][] a2;
for (int i; i < size; i++) {
a2 ~= a1;
}
Por favor, dime que hay una manera más sencilla.
Editar: Esto también funciona, aunque todavía es irremediablemente primitiva, y lentos
byte[][] a3;
a3.length = size;
for (int i; i < size; i++) {
a3[i].length = size;
}
Sí, eso hace el truco. Por supuesto, debería leer auto a = new int [] [] (tamaño, tamaño); Pero funciona. Gracias. Vi esta notación antes, pero no recuerdo dónde. – fwend
Cabe señalar que esto todavía genera una matriz desigual por lo que cambiar el tamaño es complicado. – BCS