You are on page 1of 18

7.

Arreglos en Java

Ramiro Estigarribia Canese

Qu es un Arreglo?
Es un grupo de variables que contienen valores,
todos del mismo tipo.
Para hacer referencia a un elemento en un arreglo,
debemos especificar el nombre y el nmero de la
posicin del elemento en el arreglo.
El nmero de la posicin del elemento se conoce
formalmente como el ndice o subndice del
elemento.

Partes de un Arreglo.

Partes de un Arreglo.
En el ejemplo: el nombre del arreglo es c.
La expresin c.length determina la longitud.
La manera en que se hace referencia a los
elementos es: c[0], c[1], c[2], ..., c[11] .
El valor de c[ 0 ] es -45 , el valor de c[1] es 6, el de
c[2] es 0 y el de c[11] es 78.
Para calcular la suma de los valores en los
primeros tres elementos y almacenar el resultado
en la variable suma , escribiramos lo siguiente:
suma = c[0] + c[1] + c[2];

Creacin de arreglos
Al igual que los dems objetos, los arreglos se
crean con la palabra clave new.
Para crear un objeto arreglo, el programador
especifica el tipo y el nmero de elementos, como
parte de una expresin para crear un arreglo que
utiliza la palabra clave new.
La siguiente declaracin y expresin crea un objeto
arreglo, que contiene 12 elementos int , y
almacena la referencia del arreglo en la variable c :
int c[] = new int[12];

Ejemplo: Listar Elementos.


package arreglo;
public class Arreglo
{
public static void main(String[] args)
{
int arreglo [ ] = new int[10]; // 10 elementos
System.out.println( "Indice\tValor" ); //ttulos
// imprime el valor de cada elemento
for (int contador=0; contador<arreglo.length; contador++)
System.out.println( contador+"\t"+arreglo[contador] );
}
}

Inicializador de Arreglo
Permite crear e inicializar un arreglo.
Es una lista de expresiones separadas por comas
encerrada entre llaves { };
La longitud del arreglo se determina en base al
nmero de elementos en la lista.
Por ejemplo, la declaracin:
int n[] = { 10, 20, 30, 40, 50 };

Crea un arreglo de cinco elementos.


El elemento n[0] se inicializa con 10 , n[1] se inicializa
con 20 , y as en lo sucesivo.

Ejemplo: Inicializar y Listar.


package arreglo;
public class Arreglo
{
public static void main(String[] args) {
int arreglo[]={32,27,64,18,95,14,90,70,60,37};
System.out.println( "Indice\tValor" ); //Ttulos
//Imprime el valor de cada elemento
for (int contador=0; contador<arreglo.length; contador++)
System.out.println( contador+"\t"+arreglo[contador] );
}
}

Clculo de los valores a


guardar en un arreglo.
El siguiente ejemplo crea un arreglo de 10
elementos y asigna a cada elemento uno de los
enteros pares del 2 al 20 ( 2 , 4 , 6 , ..., 20 ).
Despus, la aplicacin muestra el arreglo en
formato tabular.

Arreglo con nmeros


enteros pares del 2 al 20.
package arreglo;
public class Arreglo {
public static void main(String[] args) {
int arreglo[] = new int[ 10 ]; // crea el arreglo
System.out.println( "Indice\tValor" ); //ttulos
// imprime el valor de cada elemento
for (int contador=0; contador<arreglo.length; contador++)
{
arreglo[ contador ] = 2 + 2 * contador;
System.out.println( contador+"\t"+arreglo[contador] );
}}}

Grfico de Barras.
Muchas aplicaciones presentan datos en forma
grfica.
Por ejemplo, con frecuencia los valores numricos
se muestran como barras.
En dicho grfico, las barras ms largas representan
valores numricos ms grandes.
A los profesores les gusta examinar la distribucin
de las calificaciones en un examen.
Un profesor podra visualizar la distribucin de las
calificaciones.

//Grfico de Barras
package arreglo;
public class Arreglo {
public static void main(String[] args) {
int notas[ ] = { 0, 3, 4, 7, 3, 1 };
//0 alumnos obtuvieron 0, 3 alumnos 1, 4 alumnos 4,...etc.
System.out.println( "Distribucion de Calificaciones:" );
for (int contador=0;contador<notas.length;contador++)
{
System.out.print( "Calificacin:" +contador +"\t");
for (int estrella=0;estrella<notas[contador];estrella++)
{
System.out.print("*");
}
System.out.println(); //nueva lnea
}}}

Frecuencias de un Dado.
package arreglo;
import java.util.Random; // Utiliza Random
public class Arreglo {
public static void main(String[] args) {
Random sorteo = new Random();
int frecuencia[] = new int[7];
for (int tiro=1; tiro<=6000; tiro++) //6000 veces
frecuencia[1 + sorteo.nextInt(6)]++;
System.out.println( "Cara\tFrecuencia" );
// imprime el valor de cada elemento del arreglo
for ( int cara = 0; cara < frecuencia.length; cara++ )
System.out.println( cara +"\t"+ frecuencia[ cara ] );
}}

Arreglos para Analizar


Resultados de Encuesta.
Se pidi a veinte estudiantes que califiquen la
calidad de la comida en la cafetera estudiantil, en
una escala del 1 al 10 (en donde 1 significa psimo
y 10 significa excelente).
Coloque las 40 respuestas en un arreglo entero y
sintetice los resultados de la encuesta.

// Resultado de Encuesta
package arreglo;
public class Arreglo {
public static void main(String[] args) {
int respuestas[] = {1,2,6,4,8,5,9,7,8,9,1,6,3,8,6,9,3,8,2,7};
int frecuencia[] = new int[11]; // contadores de frecuencia
for (int contador=0; contador<respuestas.length; contador++ )

{
frecuencia[respuestas[contador]]++;

}
System.out.println("Nota\tFrecuencia");
// imprime el valor de cada elemento
for (int nota=1;nota<frecuencia.length;nota++)
{
System.out.println( nota+"\t"+frecuencia[nota] );
}
}}

Arreglo de Bidimensional
(Matriz)
Es un arreglo con 2 ndices, en donde la
informacin est ordenada en filas y columnas.
Para identificar un elemento, debemos especificar
dos ndices.

Inicializador de Arreglo
Bidimensional.
Al igual que los arreglos unidimensionales, los
arreglos bidimensionales pueden inicializarse.
Un arreglo bidimensional arreglo con dos filas y
dos columnas podra declararse e inicializarse as:
int arreglo[ ] [ ] = { { 1, 2 }, {3, 4} };

// Ejemplo Matriz 3x3


package arreglo;
import java.util.Scanner;
public class Arreglo{
public static void main(String[] args) {
Scanner entrada = new Scanner( System.in );
int matriz[ ][ ] = new int[3][3];
System.out.println("Ingresar 9 Nmeros:");
for(int x=0;x<3;x++) {
for(int y=0;y<3;y++) {
matriz[x][y]=entrada.nextInt(); } }
System.out.println("Elementos de la Matriz:");
for(int x=0;x<3;x++) {
for(int y=0;y<3;y++) {
System.out.print (matriz[x][y]+" "); }
System.out.println();
}}}

You might also like