2. ¿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 número de la
posición del elemento en el arreglo.
➔ El número de la posición del elemento se conoce
formalmente como el índice o subíndice del
elemento.
4. Partes de un Arreglo.
➔ En el ejemplo: el nombre del arreglo es c.
➔ La expresión 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 , escribiríamos lo siguiente:
suma = c[0] + c[1] + c[2];
5. Creación de arreglos
➔ Al igual que los demás objetos, los arreglos se
crean con la palabra clave new.
➔ Para crear un objeto arreglo, el programador
especifica el tipo y el número de elementos, como
parte de una expresión para crear un arreglo que
utiliza la palabra clave new.
➔ La siguiente declaración y expresión crea un objeto
arreglo, que contiene 12 elementos int , y almacena
la referencia del arreglo en la variable c :
int c[] = new int[12];
6. Ejemplo: Listar Elementos.
package arreglo;
public class Arreglo
{
public static void main(String[] args)
{
int arreglo [ ] = new int[10]; // 10 elementos
System.out.println( "IndicetValor" ); //títulos
// imprime el valor de cada elemento
for (int contador=0; contador<arreglo.length; contador++)
System.out.println( contador+"t"+arreglo[contador] );
}
}
7. 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
número de elementos en la lista.
Por ejemplo, la declaración:
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.
8. 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( "IndicetValor" ); //Títulos
//Imprime el valor de cada elemento
for (int contador=0; contador<arreglo.length; contador++)
System.out.println( contador+"t"+arreglo[contador] );
}
}
9. Cálculo 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 ).
➔ Después, la aplicación muestra el arreglo en
formato tabular.
10. Arreglo con números
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( "IndicetValor" ); //títulos
// 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] );
} } }
11. Gráfico de Barras.
➔ Muchas aplicaciones presentan datos en forma
gráfica.
➔ Por ejemplo, con frecuencia los valores numéricos
se muestran como barras.
➔ En dicho gráfico, las barras más largas representan
valores numéricos más grandes.
➔ A los profesores les gusta examinar la distribución
de las calificaciones en un examen.
➔ Un profesor podría visualizar la distribución de las
calificaciones.
12. //Gráfico 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( "Calificación:" +contador +"t");
for (int estrella=0;estrella<notas[contador];estrella++)
{
System.out.print("*");
}
System.out.println(); //nueva línea
}}}
13. 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( "CaratFrecuencia" );
// imprime el valor de cada elemento del arreglo
for ( int cara = 0; cara < frecuencia.length; cara++ )
System.out.println( cara +"t"+ frecuencia[ cara ] );
} }
14. Arreglos para Analizar
Resultados de Encuesta.
➔ Se pidió a veinte estudiantes que califiquen la
calidad de la comida en la cafetería estudiantil, en
una escala del 1 al 10 (en donde 1 significa pésimo
y 10 significa excelente).
➔ Coloque las 40 respuestas en un arreglo entero y
sintetice los resultados de la encuesta.
15. // 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("NotatFrecuencia");
// imprime el valor de cada elemento
for (int nota=1;nota<frecuencia.length;nota++)
{
System.out.println( nota+"t"+frecuencia[nota] );
}
}}
16. Arreglo de Bidimensional
(Matriz)
➔ Es un arreglo con 2 índices, en donde la
información está ordenada en filas y columnas.
➔ Para identificar un elemento, debemos especificar
dos índices.
17. 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 podría declararse e inicializarse así:
int arreglo[ ] [ ] = { { 1, 2 }, {3, 4} };
18. // 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 Números:");
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();
} } }