Nychol Bazurto Gómez
Matrices
Persistencia
Construcción de un programa
Contenedoras de dos dimensiones de tamaño fijo cuyos elementos son referenciados utilizando dos índices: índice de la fila e índice de la columna.
| 0,0 | 0,1 | 0,4 | ||
|---|---|---|---|---|
| 1,0 | ||||
| 3,3 | ||||
| 5,2 | ||||
| 6,4 |
public class Imagen
{
//--------------------------------------
// Atributos
//--------------------------------------
private int ancho;
private int alto;
private Color[][] bitmap;
}Es conveniente declarar el número de columnas (ancho) y el número de filas (ancho) como atributos. Esto va a facilitar realizar posteriores modificaciones al programa.
private <tipoDato> [ ][ ] >nombreMatriz>;
// Constructor
//--------------------------------------
public Imagen( )
{
ancho = 400;
alto = 300;
bitmap = new Color[ alto ][ ancho ];
}nombreMatriz = new <tipoDato>[filas][columnas];
Para filas y columnas se pueden usar constantes.
Al inicializar la matriz, se construye una matriz con el número de filas y columnas dadas, pero dentro de cada casilla de la matriz no hay valores asignados, por lo que se debe inicializar cada casilla. Esto se puede hacer una por una, o con un for doble.
bitmap[ 0 ][ 1 ] = new Color( 0, 0, 255 );public void imagenAzul( )
{
for( int i = 0; i < alto; i++ )
{
for( int j = 0; j < ancho; j++ )
{
bitmap[ i ][ j ] = new Color( 0, 0, 255 );
}
}
}
for( int i = 0; i < FILAS; i++ )
{
for( int j = 0; j < COLUMNAS; j++ )
{
//...
}
}Comienza en la fila 0 (int i = 0) y columna 0 (int j = 0), esto es la casilla superior izquierda (resaltada en azul).
for( int i = 0; i < FILAS; i++ )
{
for( int j = 0; j < COLUMNAS; j++ )
{
//...
}
}En la siguiente iteración j aumenta en 1 (j++) entonces la casilla actual es 0,1
for( int i = 0; i < FILAS; i++ )
{
for( int j = 0; j < COLUMNAS; j++ )
{
//...
}
}En la siguiente iteración j aumenta en 1 (j++) entonces la casilla actual es 0,2
for( int i = 0; i < FILAS; i++ )
{
for( int j = 0; j < COLUMNAS; j++ )
{
//...
}
}En la siguiente iteración j aumenta en 1 (j++) entonces la casilla actual es 0,3
for( int i = 0; i < FILAS; i++ )
{
for( int j = 0; j < COLUMNAS; j++ )
{
//...
}
}
for( int i = 0; i < FILAS; i++ )
{
for( int j = 0; j < COLUMNAS; j++ )
{
//...
}
}
for( int i = 0; i < FILAS; i++ )
{
for( int j = 0; j < COLUMNAS; j++ )
{
//...
}
}...CONTINUEMOS...
for( int i = 0; i < FILAS; i++ )
{
for( int j = 0; j < COLUMNAS; j++ )
{
//...
}
}...CONTINUEMOS...
–Se comparan con el operador ==.
Debemos recorrer todos los elementos que contiene la matriz para lograr la solución.