Sie sind auf Seite 1von 4

Arrays bidimensionales / Matrices

En J ava una matriz es un vector de vectores fila, o ms en concreto un vector de


referencias a los vectores fila. Con este esquema, cada fila podra tener un nmero de
elementos diferente.

Una matriz se puede crear directamente en la forma,
int [][] mat = new int[3][4];

o bien se puede crear de modo dinmico dando los siguientes pasos:
1. Crear la referencia indicando con un doble corchete que es una referencia a
matriz, int[][] mat;
2. Crear el vector de referencias a las filas, mat = new int[nfilas][];
3. Reservar memoria para los vectores correspondientes a las filas,
for (int i=0; i<nfilas; i++)
mat[i] = new int[ncols];

A continuacin se presentan algunos ejemplos de creacin de arrays bidimensionales:
// crear una matriz 3x3
// se inicializan a cero

double mat[][] = new double[3][3];
int [][] b = {{1, 2, 3},
{4, 5, 6}, // esta coma es permitida
};

int c = new[3][]; // se crea el array de referencias a arrays
c[0] = new int[5];
c[1] = new int[4];
c[2] = new int[8];

En el caso de una matriz b, b.length es el nmero de filas y b[0].length es el nmero de
columnas (de la fila 0). Por supuesto, los arrays bidimensionales pueden contener tipos
primitivos de cualquier tipo u objetos de cualquier clase.

















Ejemplo 1:

import java.io.*;
class Matriz1 {
int numM[][] = new int[3][3];

void leerM() throws IOException{
BufferedReader b;
b= new BufferedReader(new InputStreamReader(System.in));

for (int i=0; i<3; i++)
for (int j=0; j<3; j++){
System.out.println(Ingrese un nmero );
numM[i][j] = Integer.parseInt(b.readLine());
}
}

void imprimir(){

System.out.println(La Matriz es: );

for (int i=0; i<3; i++) {
for (int j=0; j<3; j++)
System.out.print(numM[i][j] +"\t");
System.out.println( );
}
}
}


//Clase Ejecutable

import java.io.*;

class EjecutaMatriz1{
public static void main (String argumentos[]) throws IOException {

Matriz1 obj = new Matriz1();

obj.leer();
obj.imprimir();
}
}






Ejemplo 2:

import java.io.*;

class Matriz2 {
int numM[][] = new int[10][10];

void leerM(int n, int m) throws IOException{
BufferedReader b;
b= new BufferedReader(new InputStreamReader(System.in));

for (int i=0; i<n; i++)
for (int j=0; j<m; j++){
System.out.println(Ingrese un nmero );
numM[i][j] = Integer.parseInt(b.readLine());
}
}


void imprimir(int n, int m){

System.out.println(La Matriz es: );

for (int i=0; i<n; i++) {
for (int j=0; j<m; j++)
System.out.print(numM[i][j] +"\t" );
System.out.println( );
}
}

}


//Clase Ejecutable

import java.io.*;

class EjecutaMatriz2{
public static void main (String argumentos[]) throws IOException {

Matriz2 obj = new Matriz2();

BufferedReader b;
b= new BufferedReader(new InputStreamReader(System.in));






int n,m;

System.out.println(Ingrese el nmero de filas );
n = Integer.parseInt(b.readLine());

System.out.println(Ingrese el nmero de columnas );
m = Integer.parseInt(b.readLine());

obj.leer(n,m);
obj.imprimir(n,m);

}
}


//Inicializacin de matrices

class Matriz3 {
int [][] A = {{1, 2, 3},
{4, 5, 6},
{7, 8, 9},
};

void imprimirM(){
for (int i=0; i< A.length; i++){
for (int j=0; j< A[0].length; j++)
System.out.print(A[i][j] +"\t");
System.out.println();

}
}

}


//clase Ejecutable

class EjecutaMatriz3{
public static void main (String argumentos[]) {

Matriz3 obj = new Matriz3();
obj.imprimirM();

}
}