Pregrado
SESIÓN 12:
Aplicación de estructuras estáticas con objetos:
Matrices
● Arreglos multidimensionales Los arreglos multidimensionales de dos dimensiones se utilizan con
frecuencia para representar tablas de valores, las cuales consisten en información ordenada en fi
las y columnas. Para identifi car un elemento específico de una tabla, debemos especificar dos
subíndices. Por convención, el primero identifica la fi la del elemento y el segundo su columna.
Los arreglos que requieren dos subíndices para identificar un elemento específico se llaman
arreglos bidimensionales (los arreglos multidimensionales pueden tener más de dos
dimensiones). Java no soporta los arreglos multidimensionales directamente, pero permite al
programador especificar arreglos unidimensionales, cuyos elementos sean también arreglos
unidimensionales, con lo cual se obtiene el mismo efecto. La fi gura ilustra un arreglo
bidimensional a, que contiene tres filas y cuatro columnas (es decir, un arreglo de tres por cuatro).
En general, a un arreglo con m filas y n columnas se le llama arreglo de m por n
Creación de arreglos bidimensionales mediante
expresiones de creación de arreglos
SINTAXIS
int b[ ][ ] = new int[ 3 ][ 4 ];
Al igual que los arreglos unidimensionales, los arreglos multidimensionales pueden inicializarse
mediante inicializadores de arreglos en las declaraciones. Un arreglo bidimensional b con dos fi las y
dos columnas podría declararse e inicializarse con inicializadores de arreglos anidados, como se
muestra a continuación:
int b[ ] [ ] = { { 1, 2 }, {3, 4} };
Los valores del inicializador se agrupan por fi la entre llaves. Así, 1 y 2 inicializan a b[ 0 ][ 0 ] y b[ 0 ][ 1 ],
respectivamente; 3 y 4 inicializan a b[ 1 ][ 0 ] y b[ 1 ][ 1 ], respectivamente.
Un arreglo multidimensional, en el que cada fi la tiene un número distinto de columnas, puede crearse de la
siguiente manera:
Ejemplo de arreglos bidimensionales: cómo mostrar los
valores de los elementos
Sumar dos matrices 3 x 3
mport [Link].*;
public class p1{
public static void main (String[]Args){
int matriza[][] = new int [3][3];
int matrizb[][] = new int [3][3];
int matrizc[][] = new int [3][3];
int i, j;
Scanner dato = new Scanner ([Link]);
[Link]("Datos de la Matriz A :");
for (i=0; i<=2; i++){
for (j=0; j<=2; j++){
[Link]("Escribir valor " + i + " , " + j + " : ");
matriza [i][j]= [Link]();
}
}
[Link]("Datos de la Matriz B :“
for (i=0; i<=2; i++){
for (j=0; j<=2; j++){
[Link]("Escribir valor " + i + " , " + j + " : ");
matrizb [i][j]= [Link]();
}
}
for (i=0; i<=2; i++){
for (j=0; j<=2; j++){
matrizc [i][j]= matriza[i][j]+matrizb[i][j];
}
}
[Link]("Matriz resultante de la suma :");
for (i=0;i<=2;i++){
for (j=0;j<=2;j++) {
[Link](matrizc[i][j] + " ");
}
[Link]("");
}
}
}
Número menor de una matriz
import [Link].*;
public class matriz3{
public static void main (String[]Args){
int matriza[][] = new int [10][1];
int i, j,menor;
menor=999999;
Scanner dato = new Scanner ([Link]);
for (i=0; i<=9; i++){
for (j=0; j<=0; j++){
[Link]("Escribir valor " + i + " , " + j + " : ");
matriza[i][j] = [Link]();
if (menor>matriza[i][j]){
menor=matriza[i][j];
}
}
}
[Link] ("El Número menor es :" + menor);
}
}
Objeto de Matrices
[Link]
Array de objetos
Ejemplo:
Persona [ ] p;
Persona p[ ];
p un array de objetos de tipo Persona
p es una referencia a una colección de
referencias que apuntarán a objetos de la clase
Persona.
Array de Objetos
● El uso más común de los Arrays es para organizar la información
de objetos definidos por el programador.
● POR EJEMPLO : podemos definir también el objeto apropiado
para gestionar la información de un grupo de alumnos.
Con la salida:
Grupo: Primero Grupo: Primero
Alumno null null 0 nombre apellido 0 (1/1/2001)
Alumno null null 0 nombre apellido 0 (1/1/2001)
Alumno null null 0 nombre apellido 0 (1/1/2001)
Alumno null null 0 nombre apellido 0 (1/1/2001)
Alumno null null 0 nombre apellido 0 (1/1/2001)
Nota: Hay que notar que la creación del Array (que se hace en la instrucción * 1
*) está separada de la creación de los objetos que contiene (lo que se hace en el
bucle de la instrucción * 2 *)