Você está na página 1de 9

(1

Java Avanzado, Gua 4 )

Facultad: Ingeniera
Escuela: Computacin
Asignatura: java Avanzado

Tema: Arreglos
(Contenido

En esta gua se introducir al desarrollo de aplicaciones bsicas en java donde


se haga uso de arreglos de una dimensin (vector) y de arreglos
multidimensionales (matrices).

(Objetivo Especifico

a) Aprender a utilizar arreglos de una dimensin (vector) en java.


b) Aprender a utilizar arreglos multidimensionales (matrices) en java.

(Material y Equipo

a) Netbeans
b) JDK Java

(lntroduccion Teorica

Un arreglos es un grupo de variables del mismo tipo al que se hace referencia


por medio de un nombre comn. Se pueden crear arreglos de cualquier tipo y
de una o mas dimensiones. Los pasos bsicos para la creacin de arreglos en
java son los siguientes:
a) Crear variable matriz, cuya sintaxis general es la siguiente:
1) tipo- dato nombre- matriz[];
b) Reservar espacio para la matriz utilizando el operador new y a
asignarlo a la variable matriz previamente creada, cuya sintaxis
general es la siguiente:
2) nombre_matriz = new tipo_dato[tamao];

[Java Avanzado, Guia 4

(Procedimiento

LlJ

Arreglos de una dimensin

En el programa MatrizOl.java se crear la variable matriz con identificador


"dias_del_mes", posteriormente se reserva espacio en memoria de manera
dinmica utilizando el operador new y est es asignada a la variable matriz con
identificador "dias_del_mes" previamente creada. Compilar y ejecutar el
programa en mencin.

Matriz01.java
l. class Matriz01
2. {
3.
public static void main(String args[])
4.
{
5.
int d ias_del_mes[];
6.
dias_del_mes = new int[12];
7.
dias_del_mes[O] = 31;
8.
dias_del_mes[1] = 28;
9.
dias_del_mes[2] = 31;
10.
dias_del_mes[3] = 30;
11.
dias_del_mes[4] = 31;
12.
dias_del_mes[5] = 30;
13.
dias_del_mes[6] = 31;
14.
dias_del_mes[7] = 31;
15.
dias_del_mes[8] = 30;
16.
dias_del_mes[9] = 31;
17.
dias_del_mes[10] = 31;
18.
dias_del_mes[11] = 31;
19.
System.out.println( Abril t iene
20.
}
21.}
11

e\

11

+ dias_del_mes[3] + dias

=~Java-Avdn~ado~walter-sdnchez,Cldse0J)javac Mdtri~01.java
:'Java-Avdn~ado,walter-sanche~'Cldse0J)java

11
) ;

lliJEI

C:\WINDOWS\system32\cmd.exe

bril tiene 30 dias

11

Matriz01

(3

Java Avanzado, Gua 4 )

El programa Matriz02.java es una versin modificada del programa MatrizOl.java


donde en la lnea S del prog rama se crea e inicializa en una sola sentencia a la
va riable matriz con identificador "dias_del_mes". Compilar y ejecutar el prog ram a en
mencin.
Matriz02.java
l. class Matriz02
2. {
public static void main(String args[] )
3.
{
4.
S.
int d ias_del_mes[ ] = {31,28,31,30,31,30,31,31,30,31,30,31};
6.
System.out.print ln("Abril t iene" + dias_del_mes[3] + " d ias");
7.
8.
}

9.
10 . }
e \ C:\WINDOWS\systemJ2\cmd.exe

;'Java-Avanzado,walter-sanchez,ClaseOJ>javac Matriz02.java
:'\Jaua-Auanzado'\waltep-sanchez'\Clase03}jaua MatPiz02

bril tiene 30 dias


:'Java-Avanzado'\walter-sanc1Jez,Clase03>_

En el programa ArreglosOl.java se presenta un ejemplo de creacin de un arreglo


donde se rea liza la busqueda de un valor entre los elementos del arreglo, tambin
posteriormente se realizara la busqueda de otro elemento en el arreglo el cual sera
borrado en caso de ser encontrado. Compilar y ejecuta r el programa en mencin.
Arreglos01.java
l. class Arreglos01

2. {
3. public static void m ai n(Stri ng[] args)
4. {
S.
long[] arreg lo;
6.
arreglo = new long[ 100];
7.
int nEiementos = O;
8.
int j ;
long busquedallave;
9.
10 .
11. arreglo[O] = 71;
12. arreglo[ ! ] = lOO;
13. arreglo[2] = 46;
14. arreglo[3] = 53;
15. arreglo[4 ] = 22;
16. arreglo[S ] = 75;
17. arreglo[6] = 10;
18 . arreglo[7 ] = 64;
19 . arreglo[8] = 47;
20. arreglo[9] = 33;

[Java Avanzado, Guia 4

liJ

21. nEiementos = 10;


22.
23. for(j=O; j<nEiementos; j ++)
24. System.out.print(arreglo[j] +
25. System .out. printl n(
26.
27. busquedallave = 53; //Encontrar llave 53 en el arreglo
28. for(j=O; j<nEiementos; j ++)
29.
if(arreglo[j] == busquedallave)
30.
break;
31. if(j == nEiementos)
System.out.println( NO se encontro llave + busquedallave);
32.
33. e lse
34.
System.out.println( Se encontro llave + busquedallave);
35.
36. busquedallave = 64; /1 Borrar item 64 si se encuentra en el arreglo
37. for(j=O; j<nEiementos; j ++)
38.
if(arreglo[j] == busquedallave)
39.
break;
40. for(int k=j; k<nEiementos-1; k++)
41.
arreglo[k] = arreglo[k+l];
42. n Elementos--;
43.
44. for(j=O; j<nEiementos; j ++)
45.
System.out.print( arreglo[j] +
46. System.out.println(
47. }
48. }
11

11

);

1111

);

11

11

11

11

11

11

);

1111

);

e \ C:\WINDOWS\systemJ2\cmd.exe

:'Java-Avanzado,walter-sanchez)javac Arreglos01.java
:'Java-Avanzado,walter-sanchez)java Arreglos01
1 100 46 53 22 75 10 64 47 33
e encontro llave 53
1 100 46 53 22 75 10 47 33
:'Java-Avanzado,walter-sanchez>

En el programa GraficoBarrasNotas.java se presenta un ejemplo de uso de arreglos


donde se genera un grafico de barras desde la linea de comandos del Sistema
Operativo en funcion de la distribuc ion de notas de un grupo de clases.
El arreglo array indica que un estudiante obtuvo 10 de nota, dos estudiantes
obtuvieron nota entre 90-99, seis estudiantes obtuvieron nota entre 80-89, y asi
sucesivamente.

(5

Java Avanzado, Gua 4 )

GraficoBarrasNotas.java

l.

public class GraficoBarrasNotas

2.
3.
4.
5.
6.
7.
8.
9.

{
public static void main( String args[] )
{
int array[] = {O, O, O, O, O, O, 3, 12, 6, 2, 1 };
System.out.println( "Distribucion de Notas" );
for ( int contador= O; contador< array.length; contador++ )
{
if (contador== 10 )
System.out.printf( "%5d: ", 100 );
el se
System.out.printf( "%02d-%02d: ",contador* 10, contador* 10 + 9 );

10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.

22.

~ :::

for ( int asteriscos = O; asteriscos < array[contador]; asteriscos++ )


System.out. print( "*" );
System.out.println();

}
}

(:\WINDOWS\system32\cmd.exe

:'Jaua-Auanzado,walte~-sanchez)jauac

G~aficoBa~~asNotas_jaua

:'Jaua-Ruanzado,waltet-sanchez)jaua Graf icoBa~1asHotas


de Notas

ist~ibucion

0-09:
0-19:
0-29:
0-39:
0-49:
0-59:
H-69:
0-?9:
0-89:
0-99:
Hilo'!:

UIE311EJIHJIHII

'"""'""

[Java Avanzado, Guia 4

l!J

Arreglos multidimensionales
El programa Matriz05.java es un ejemplo de creacin y uso de arreg los
multidimensionales. En este ejemplo se crean los arreglos a[][] y b[][ ], se realiza la
multiplicacin aritmtica de estos arreg los y el resultado es asignado en el arreglo
resultado. Compilar y ej ecutar el programa en mencin .
MatrizOS.java
l. class Matriz05
2. {
3.
public static void main(String args[])
4.
{
5.
int a[][]= { {1,2}, {3,4} };
int b[][] = { {5 ,6},{7,8} } ;
6.
7.
int resultado[ ][] = new int [2][2];
8.
int i, j ;

9.
10.
11.
12.
13.
14.
15.
16.
17.
18.

resultado[O][O ]
resultado[O][ 1 ]
resultado[l][O ]
result ado[!][ 1 ]

a[O][O ]*b[O][O]+a[O][l]* b[1][0];


a[O][O ]*b[O][l]+a[O][l]* b[ 1][ 1];
a[ l][O ]*b[O][O]+a[ l][l]* b[ 1][0];
a[ l][O ]*b[O][l]+a[ l][l]* b[ 1][ 1];

for(i = O; i < 2; i++ ){


for(j =O; j < 2 ; j++){
System.out.print(resultado[i][j] + " ");
}
System.out.println();
}

19.

20.
21.

=
=
=
=

22. }
23.

llliEJ

e;:- C:\W'INDOWS\system32\cmd.exe
:'Java-Avanzado,walte~-sanchez>javac

Mat~iz05.java

:'Java-Avanzado,walte~-sanchez>jaua Mat~iz0S

9 22
3 50
:'Java-Avanzado,walte~-sanchez>

(7

Java Avanzado, Gua 4 )

En el programa Matriz04.java se presenta un ejemplo de creacin de un arreglo


multidimensional donde el nmero de columnas de cada fila del arreglos es diferente.
Compilar y ejecutar el programa en mencin.
Matriz04.java
l. class Matriz04
2. {
3.
public static void main(String args[])
4.
{
5.
int i, j, k = O, filas = O;
6.
7.
int b[][] = { {0},{1,2},{3,4,5},{6,7,8,9} };

8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18. }

o'

for(i

= O; i <

4; i++ ){
filas++;
for(j = O; j <filas; j++ ){
System.out.print(b[i][j] + " ");
}
System.out.println();

}
}

C:\WINDOWS\s)'lltemJ2\cmd.exe

;'Java-Avanzado,walte~-sanchez,ClaseOJ)javac Mat~iz04.java
:'Java-Avanzado,walte~-sanchez,Clase03)jaua Mat~iz04

2
4 5
? 9 9

llia

[Java Avanzado, Guia 4

L!J

Arreglos de Cadenas

En el programa Matriz06.java se presenta un ejemplo de uso de arreglos (String[] args


en este caso) como parametros al mtodo main de la clase Mat riz06. El parametro en
mencin significa que el mtodo main recibe un array de cadenas de caracteres que
son los argumentos especificados desde la lnea de comandos
Matriz06.java

l. public class Matriz06


2. {
public static void main(String[] args)
3.
{
4.
if(args[ O] .equals( -h
5.
System.out.print( Hola
6.
7.
else if(args[O].equals( -g
System.out.print( Adios
8.
for(int i = 1; i < args.length; i++)
9.
10.
System.out.print(
+ args[i]);
System.out.println( !
11.
}
12.
13. }
11

11

))

11

11

);

11

11

))

11

11

);

11

11

11

11

);

llia

e \ C:\WINDOWS\system32\cmd.exe

:'\.Java-Avanz.ado'\.waltet-sanchez'\.Cl~t.se93}j.ava

11attiz06 -h Tmn<t.s<t.

ola Io111asa!
:'\.J.ava-Av~t.nz.ado'\.waltet-sanchez'\.Cl~t.se93 }java

dios Io111asa!

11attiz06 -g Tmn<t.s<t.

(9

Java Avanzado, Gua 4 )

( Hoja de cotejo: 1

Gua 4: Arreglos
(Alumno:

J]

( Maqu ina No:

J (Fecha:

( Docente:

J]

EVALUACION

%
CONOCIMIENTO

Del
20
al
30%

APLICACIN
DEL
CONOCIMIENTO

Del
40%
al
60%

1-4

5-7

8-10

Conocimiento
deficiente de
los
fundamentos
tericos

Conocimiento y
explicacin
incompleta de
los
fundamentos
tericos

Conocimiento
completo y
explicacin
clara de los
fundamentos
tericos

No tiene actitud
proactiva.

Actitud
propositiva y
con propuestas
no aplicables al
contenido de la
gua.

Tiene actitud
proactiva y sus
propuestas son
concretas.

ACTITUD

Del
15%
al
30%

TOTAL

100
%

Nota

Você também pode gostar