2012-05-25 27 views
6

Quiero hacer esto dinámicamente en java. Sé cómo insertar valores en una matriz unidimensional. Estoy un poco confundido en una matriz bidimensional.¿Cómo insertar valores en matriz bidimensional programáticamente?

static final String shades[][] = { 


// Shades of grey 
    { 
    "lightgrey", 
    "dimgray", 
    "sgi gray 92", 
    }, 
// Shades of blue 
    { 
    "dodgerblue 2", 
    "steelblue 2", 
    "powderblue", 
    }, 
// Shades of yellow 
    { 
    "yellow 1", 
    "gold 1", 
    "darkgoldenrod 1", 
    }, 
// Shades of red 
    { 
    "indianred 1", 
    "firebrick 1", 
    "maroon", 
    } 
}; 

Respuesta

7
String[][] shades = new String[intSize][intSize]; 
// print array in rectangular form 
for (int r=0; r<shades.length; r++) { 
    for (int c=0; c<shades[r].length; c++) { 
     shades[r][c]="hello";//your value 
    } 
} 
3
String[][] shades = new String[4][3]; 
for(int i = 0; i <= 4; i++) 
    { 
     for(int y = 0; y <= 3; y++) 
     { 
     shades[i][y] = value; 
     } 
    } 

esto debería funcionar

1

no se puede "añadir" valores de una matriz como la longitud del arreglo es inmutable. Puede establecer valores en posiciones de matriz específicas.

Si sabes cómo hacerlo con matrices unidimensionales, entonces sabes cómo hacerlo con matrices n-dimensionales: no hay matrices n-dimensionales en Java, solo matrices de matrices (de matrices ...) .

Pero puede encadenar el operador de índice para acceder al elemento de matriz.

String[][] x = new String[2][]; 
x[0] = new String[1]; 
x[1] = new String[2]; 

x[0][0] = "a1"; 
    // No x[0][1] available 
x[1][0] = "b1"; 
x[1][1] = "b2"; 

Tenga en cuenta que las dimensiones de las matrices secundarias no tienen que coincidir.

0

Piénsalo como una matriz de matriz.

Si hace esto str [x] [y], entonces hay una matriz de longitud x donde cada elemento a su vez contiene una matriz de longitud y. En Java no es necesario que la segunda dimensión tenga la misma longitud. Así que para x = yo pueda tener y = m y x = j Puede tener y = n

Por esta su declaración parece

String [] [] prueba = new String [4] [] ; test [0] = new String [3]; test [1] = new String [2];

etc ..

-1

this is output of this program

Scanner s=new Scanner (System.in); 
int row, elem, col; 

Systm.out.println("Enter Element to insert"); 
elem = s.nextInt(); 
System.out.println("Enter row"); 
row=s.nextInt(); 
System.out.println("Enter row"); 
col=s.nextInt(); 
for (int c=row-1; c < row; c++) 
{ 
    for (d = col-1 ; d < col ; d++) 
     array[c][d] = elem; 
} 
for(c = 0; c < size; c++) 
{ 
    for (d = 0 ; d < size ; d++) 
     System.out.print(array[c] [d] +" "); 
    System.out.println(); 
} 
+0

Bienvenido, usted debe explicar lo que es interesante en esta respuesta. Pero por supuesto, solo insertarás el 'elem' en la última celda debido a' int c = fila -1' en lugar de 'int c = 0' (lo mismo para' d'). – AxelH

+0

¿Y de dónde viene 'size' para hacer un bucle en su" matriz cuadrada "? – AxelH

Cuestiones relacionadas