Capitulo7 Lenguaje Arrays
Capitulo7 Lenguaje Arrays
Capitulo7 Lenguaje Arrays
net
Algoritmosy
EstructuradedatosI
ProgramacinconJava2
ModulodeReforzamiento
2009
JAVA
Captulo 7
Arreglos
Vectores y Matrices
Contenido
Enelpresentecapitulovamosaverqueson,paraque
sirven y como se usan los arreglos. Como se organiza
Java esta informacin. Hacia el final del captulo
analizaremos que otras posibilidades nos brinda este
lenguajeademsdelosarreglostradicionales.
Introduccin
Objetivos
Visn global
Pre test
Hoja de requisitos
Recomendaciones
Actividades
7.1. Introduccin
7.2. Declarar un array
7.3. Creacin de un array
7.4. Inicializacin de los
Elementos
7.5. Utilizacin del array
Ejemplos
7.7. Trabajando con
Matrices
Ejemplos
Post Test
Actividades de RetroaliMentacin
Bibliografia
3
3
4
4
5
6
6
6
7
7
8
8
8
15
16
18
19
19
Introduccin
En los captulos anteriores se han descrito las caractersticas de los
tipos de datos, asimismo se ha aprendido a definir y utilizar constantes
simblicas utilizando la clausula final.
En el presente capitulo aprender el concepto, declarar, crear o instanciar,
inicializar y utilizar los arrays. Un array almacena muchos elementos del mismo
tipo, tales como nmeros enteros, de coma flotante o caracteres, los arrays
pueden ser de una dimensin vectores de dos dimensiones matrices
tambin de tres o ms dimensiones.
El array es muy importante por diversas razones, una muy importante es
almacenar cadena de texto, por su importancia java proporciona la clase String,
que representa una secuencia de caracteres y las operaciones con cadenas ms
comunes. Son estructuras muy tiles y si bien son estructuras estticas es decir
cuando le das un tamao no puede exceder ese tamao en java te da la opcin
de hacer un arreglo dinmico, que aumente el tamao del arreglo.
Objetivos
Despues de haber leido y estudiado este capitulo usted pdra:
Pgina 3
Visn global
Pre Test
Antes de empezar a trabajar con el modulo de reforzamiento, resuelva los
siguientes ejercicios:
Preguntas:
1.
2.
3.
Pgina 4
{
System.out.println(hola);
System.out.println(n);
}
4.
5.
Cual es la salida si n es 0 ?
Cual es la salida si n es 1 ?
Cual es la salida si n es 3 ?
Las respuestas a las preguntas las encontrara en la pagina oficial del curso,
www.zonajava.net
Hoja de requisitos
Ahora que has resuelto correctamente los ejercicios, ud. Debera conocer los
siguientes temas (tratados con anterioridad) antes de pasar a estudiar el siguiente
tema.
Constantes y variables.
Operadores y expresiones.
Estructuras de seleccin
Pgina 5
Estructuras de control.
Mtodos.
g)
h)
i)
j)
Actividades
Para un mejor entendimiento del presente modulo sugerimos realizar los ejemplos
en forma secuencial,
7.1.
Definicin
Una array se define como una coleccin finita, homognea y
ordenada de elementos.
Pgina 6
7.2.
Ejemplo:
Para declarar un vector de enteros escribimos
int[ ] numeros;
int numeros[ ];
7.3.
nombre=newtipo[tamao];
Ejemplo:
Para crear un vector de 4 nmeros enteros escribimos
numeros = new int[4];
La declaracin y la creacin del vector se pueden hacer en una misma
lnea. Utilice el siguiente formato:
tipo[]nombre=newtipo[tamao];
Ejemplo:
int[ ] numeros = new int[4];
Pgina 7
7.4.
7.5.
Pgina 8
Java verifica que el ndice no sea mayor o igual que la dimensin del array,
lo que facilita mucho el trabajo al programador.
Ejemplo 01:
Realizar un programa que inicialic 4 nmeros enteros y los muestre
class CEjemplo01
{
public static void main (String[] args)
{
//Declarando un array
int numeros[ ];
//creando o instanciando un array
numeros = new int[4];
//inicializando un array
numeros[0] = 20;
numeros[1] = 50;
numeros[2] = 40;
numeros[3] = 30;
//visualizando el array
for (int i = 0; i<4; i++)
System.out.println(numeros[i]);
}
}
Se obtiene como resultado
Ejemplo 02:
Modificar la clase CEjemplo01 realizando la declaracin e instanciacin en
una sola lnea.
Pgina 9
class CEjemplo02
{
public static void main (String[] args)
{
//Declarando e instanciando un array
int numeros[ ] = new int [4];
//inicializando un array
numeros[0] = 20;
numeros[1] = 30;
numeros[2] = 40;
numeros[3] = 50;
//visualizando el array
for (int i = 0; i<4; i++)
System.out.println(numeros[i]);
}
}
Analice y explique qu imprime este programa?
______________________________________________________
______________________________________________________
Ejemplo 03:
Modificar la clase CEjemplo02 realizando la declaracin, instanciando y
inicializando en una sola lnea.
class CEjemplo03
{
public static void main (String[] args)
{
//Declarando, instanciando e inicializando un array
int numeros[ ] = {20, 30, 40, 50};
//visualizando el array
for (int i = 0; i<4; i++)
System.out.println(numeros[i]);
}
Pgina 10
Ejemplo 04:
Realizar un programa que nos muestre los valores por defecto de los tipos
de datos numricos, cadenas, booleanos y carcter.
class CEjemplo04
{
public static void main (String[] args)
{
int numeros[ ] = new int [2];
System.out.println("Valores por defecto numericos");
for (int i = 0; i<numeros.length; i++)
System.out.println(numeros[i]);
System.out.println();
String cadenas[ ] = new String[2];
System.out.println("Valores por defecto cadenas");
for (int i = 0; i<cadenas.length; i++)
System.out.println(cadenas[i]);
System.out.println();
boolean boleanos[ ] = new boolean [2];
System.out.println("Valores por defecto Booleanos");
for (int i = 0; i<boleanos.length; i++)
System.out.println(boleanos[i]);
System.out.println();
char car[ ] = new char [2];
System.out.println("Valores por defecto caracteres");
for (int i = 0; i<car.length; i++)
System.out.println(car[i]);
}
System.out.println();
}
Analice y explique qu imprime este programa?
______________________________________________________
______________________________________________________
Pgina 11
Ejemplo 05:
Realizar un programa que genere 10 nmeros enteros aleatorios
comprendidos entre 10 y 100 y los almacene en un arreglo y luego los
muestre.
class CEjemplo05
{
public static void main(String[] args)
{
int [] Numeritos = new int [10];
int M = 10, N = 100, valor;
//generacion de numeros aleatorios
for (int i = 0; i<Numeritos.length; i++)
{
valor = (int)Math.floor(Math.random()*(N-M+1)+M);
Numeritos[i] = valor;
}
//recorrido de numeros aleatorios
System.out.println("Nmeros Generados");
System.out.println("======= =========");
for (int i = 0; I < Numeritos.length; i++)
{
System.out.println("["+i+"]"+" = "+Numeritos[i]);
}
}
Pgina 12
Ejemplo 06:
Modificar el programa anterior utilizando mtodos.
class CEjemplo06
{
static int [] Numeritos = new int [10];
public static void main(String[] args) {
genera();
recorrido();
}
//generacin de nmeros aleatorios
public static void genera()
{
int M = 10, N = 100, valor;
for (int i = 0; i<Numeritos.length; i++)
{
valor = (int)Math.floor(Math.random()*(N-M+1)+M);
Numeritos[i] = valor;
}
}
Ejemplo 07:
Modificar el programa anterior utilizando mtodos y menus.
import java.io.*;
class CEjemplo07{
static int [] Numeritos = new int [10];
Pgina 13
if ( opcion == 2){
recorrido();
}
if (opcion < 0 && opcion > 2){
System.out.println("Ingrese alternativa correcta");
}
}while(opcion != 0);
}
System.out.println("Numeros Generados");
System.out.println("======= =========");
for (int i = 0; i<Numeritos.length; i++)
{
System.out.println("["+i+"]"+" = "+Numeritos[i]);
}
Pgina 14
7.6.
Ejemplo:
Para declarar una matriz de enteros escribimos
int [ ] [ ] numeros;
int numeros[ ] [ ];
nombre=newtipo[filas][columnas];
Ejemplo:
Para crear una matriz de 2x2 de nmeros enteros escribimos
numeros = new int [2] [2];
La declaracin y la creacin del array se pueden hacer en una
misma lnea. Utilice el siguiente formato:
tipo[][]nombre=newtipo[filas][columnas]
Pgina 15
numero[0][0]
numero[0][1]
numero[1][0]
numero[1][1]
=
=
=
=
0;
1;
2;
3;
Ejemplo 08:
Realizar un programa que utilice una matriz.
class CMatriz
{
public static void main (String[] args)
{
int [][] numero = new int [2][2];
numero[0][0] = 0;
numero[0][1] = 1;
numero[1][0] = 2;
numero[1][1] = 3;
for (int i=0; i < numero.length; i++)
{
for (int j=0; j < numero.length; j++)
{
System.out.print(numero[i][j]+"\t\t");
}
System.out.println("");
}
}
}
Pgina 16
Ejemplo 09:
Realizar un programa que utilice sume dos matrices.
class sumamatriz
{
public static void main (String[] args)
{
int[][] m1 = {{5,1,5},{3,7,21},{13,9,23}};
int[][] m2 = {{2,6,3},{4,5,2},{7,8,3}};
int[][] s = new int[3][3];
for (int i=0; i < m1.length; i++)
{
for (int j=0; j < m1[i].length; j++)
{
//calcular la suma
s[i][j] = m1[i][j] + m2[i][j];
}
}
System.out.println("La matriz 1 es:");
for (int i=0; i < m1.length; i++)
{
for (int j=0; j < m1[i].length; j++)
{
System.out.print(m1[i][j]+"\t");
}
System.out.println("");
}
System.out.println("La matriz 2 es:");
for (int i=0; i < m2.length; i++)
{
for (int j=0; j < m2[i].length; j++)
{
System.out.print(m2[i][j]+"\t");
}
System.out.println("");
}
Pgina 17
Post test:
Despues de haber terminado de practicar con el modulo de reforzamiento,
resuelva los siguientes ejercicios:
Preguntas:
1.
Realizar un programa que lea 5 numeros, los almacene en una arreglo vector luego
obtener el nmero mayor y mostrarlos.
2.
Realizar un programa que lea 5 numeros y un divisor, los almacene en una arreglo vector
determinar cuantos nmeros mltiplos hay del divisor hay en los 5 nmeros ingresados.
3.
Realizar un programa que genere 12 numeros aleatorios, los almacene en una matriz de
4x3 y obtenga la suma de cada columna.
4.
Realizar un programa que lea un nmero entero que determine la cantidad de filas y
columnas de una matriz, generar n numeros aleatorios, los almacene en la matriz y luego
obtenga la cantidad de pares e impares que hay en dicha matriz, utilizando metodos.
5.
b)
Realizar un mtodo que intercambie el contenido del primer numero par por el
primer numero impar.
c)
Realizar un mtodo que intercambie el primer numero impar por por el ultimo
Pgina 18
numero impar.
d)
Realizar un metodo que intercambie el segundo numero par por el por el ultimo
numero par.
e)
Actividades de retroalimentacin
Ahora que Ud. Ya resolvi el pre test, realizo las actividades y no pudo resolver
los ejercicios correctamente, deber regresar nuevamente hasta el apartado de
Recomendaciones y diagrama de funcionamiento del modulo y podr reiniciar
el desarrollo del mdulo en su integridad, parcialmente, seleccionar otras
alternativas o consultar con el docente o a la pgina oficial del curso para que le
ayude a seleccionar otras actividades.
Bibliografa
Programacin en Java 2, algoritmos y estructura de datos
Luis Joyanes Aguilar
Ed. Mc Graw Hill 2002
Fundamentos de programacin Java
Ricardo Marcelo Villalobos
Ed. Macro 2008
Java 2 Curso de programacin
Francisco Ceballos
Ed. Rama 2005
Pgina 19