SlideShare una empresa de Scribd logo
Aplicaciones con Arreglos
Supongamos que queremos utilizar una aplicación para poder tomar un arreglo y voltearlo en
otro, es decir supongamos que tenemos un arreglo con los números 1, 15, 17, 22 y 34 y los
queremos cambiar al revés como 34, 22, 17, 15 y 1. La siguiente aplicación nos puede
ayudar a comprender esto:
public class AplicacionArreglo3 {
public static void main(String[] args) {
int arreglo1[] = { 1, 15, 17, 22, 34 };
int arreglo2[] = new int[arreglo1.length];
for (int i = 0; i < arreglo1.length; i++) {
arreglo2[arreglo1.length - i - 1] = arreglo1 [i];
}
System.out.println("Arreglo Inicial");
for (int i = 0; i < arreglo1.length; i++) {
System.out.println("Elemento " + (i+1) + " = " + arreglo1[i]);
}
System.out.println("Arreglo Final");
for (int i = 0; i < arreglo2.length; i++) {
System.out.println("Elemento " + (i+1) + " = " + arreglo2[i]);
}
}
}
Dicha aplicación muestra la siguiente salida:
Vemos como la clave de la asignación de cada elemento del arreglo 2 esta en hacer un poco
III. Desarrollo de aplicaciones con manejo
de datos en la memoria
de matemáticas, con la instrucción:
arreglo2[arreglo1.length - i - 1] = arreglo1 [i];
En esta instrucción al último índice de la posición le quitamos el valor de i que es nuestra
variable índice que avanza hasta llegar al último, pero si hacemos un poco de sustitución y
decimos arreglo1 tiene 5 elementos, cuando la i es cero, entonces arreglo.length – i – 1 nos
da 4 que es realmente la última posición, ya que iría de 0 a 4. Si sustituimos ahora con i en
1, tendríamos 5 – 1 – 1 que sería 3 y así sucesivamente.
Contando las veces que se repite un número en un arreglo
Esto nos puede servir para cuando trabajamos con números, supongamos que tenemos la
siguiente aplicación, en la cual tenemos un arreglo y buscamos dos números en el, tenemos
que utilizar un ciclo para la búsqueda y si queremos contar las veces que se encuentra el
número podemos utilizar un contador para cada uno, veamos la aplicación:
public class AplicacionArreglo4 {
public static void main(String[] args) {
int arreglo[] = { 1, 15, 17, 22, 34 , -5, 15, 22, 1};
int busca1 = 30; // numero 1 a buscar
int conta1 = 0; // contar cuantas veces aparece
int busca2 = 22; // numero 2 a buscar
int conta2 = 0; // contar cuantas veces aparece
for (int i = 0; i < arreglo.length; i++) {
if (busca1 == arreglo[i]) {
conta1++;
}
if (busca2 == arreglo[i]) {
conta2++;
}
}
System.out.println("Arreglo");
for (int i = 0; i < arreglo.length; i++) {
System.out.println("Elemento " + (i+1) + " = " + arreglo[i]);
}
System.out.println("El numero " + busca1 + " aparece " + conta1 + " veces");
System.out.println("El numero " + busca2 + " aparece " + conta2 + " veces");
}
}
Dicha aplicación muestra el siguiente desplegado:
Observamos que el conta1 solo se incrementa si el valor buscado busca1 aparece en el
arreglo, de la misma manera con el valor busca2, se utiliza conta2.
Juguemos ahora un poco con letras utilizando arreglos de caracteres, cambiando la aplicación
quedaría como:
public class AplicacionArreglo5 {
public static void main(String[] args) {
char arreglo[] = { 'a', 't', 'e', 'n', 'i' , 'd', 'a', 's'};
char busca1 = 's'; // caracter 1 a buscar
int conta1 = 0; // contar cuantas veces aparece
char busca2 = 'a'; // caracter 2 a buscar
int conta2 = 0; // contar cuantas veces aparece
for (int i = 0; i < arreglo.length; i++) {
if (busca1 == arreglo[i]) {
conta1++;
}
if (busca2 == arreglo[i]) {
conta2++;
}
}
System.out.println("Arreglo");
for (int i = 0; i < arreglo.length; i++) {
System.out.println("Elemento " + (i+1) + " = " + arreglo[i]);
}
System.out.println("El caracter " + busca1 + " aparece " + conta1 + " veces");
System.out.println("El caracter " + busca2 + " aparece " + conta2 + " veces");
}
}
Esta aplicación mostraría el siguiente desplegado:
Observamos entonces como un arreglo de caracteres puede ser manejado como un arreglo
de números.
Utilizando los caracteres y usando el ejemplo de invertir los números de un arreglo a otro,
podemos observar como se puede invertir un arreglo de caracteres en otro, veamos la
siguiente aplicación:
public class AplicacionArreglo6 {
public static void main(String[] args) {
char arreglo1[] = { 'a', 't', 'e', 'n', 'i' , 'd', 'a', 's'};
char arreglo2[] = new char[arreglo1.length];
for (int i = 0; i < arreglo1.length; i++) {
arreglo2[arreglo1.length - i - 1] = arreglo1 [i];
}
System.out.println("Palabra Inicial");
for (int i = 0; i < arreglo1.length; i++) {
System.out.println("Caracter " + (i+1) + " = " + arreglo1[i]);
}
System.out.println();
System.out.println("Palabra Final");
for (int i = 0; i < arreglo2.length; i++) {
System.out.println("Caracter " + (i+1) + " = " + arreglo2[i]);
}
}
}
Observando el desplegado de esta aplicación quedaría:
3 desarollo manejo datos capitulo 1 -03 aplicaciones con arreglos (2)
3 desarollo manejo datos capitulo 1 -03 aplicaciones con arreglos (2)

Más contenido relacionado

DOCX
Unidad 5 informe técnico
PPT
Busqueda Secuencial
DOCX
Busqueda lineal y busqueda binaria
PPTX
Programa 25-27
DOCX
Numero perfecto
DOC
Arreglo
PDF
Ejercicios
PPT
Tablas hash(Margarita Arias Pérez)
Unidad 5 informe técnico
Busqueda Secuencial
Busqueda lineal y busqueda binaria
Programa 25-27
Numero perfecto
Arreglo
Ejercicios
Tablas hash(Margarita Arias Pérez)

La actualidad más candente (20)

DOCX
Metodos de ordenamiento
PPS
Tablas hash (Adrián García Amores)
PPT
Tabla Hash ( Andrea Bedia Suarez )
PPT
Tablas hash (Héctor Fernández Rabanal)
PPT
Tablas hash (Diego Vallina Monteagudo)
PDF
PPT
Tablas hash(Roberto Valdés Pérez)
PPT
Tablas Hash (Leticia Gutiérrez Sánchez)
PPTX
AsignacióN DináMica
PDF
Arreglos multidimensionales y de apuntadores
TXT
DOCX
Ejercicio 1
TXT
Swrewer nuevo hoy
PPT
Tablas Hash (María Macías Alonso)
PPT
Tablas Hash (Ana Argüelles Fonseca)
PDF
calculadora en c sharp
PPT
Tablas Hash
PPTX
Comp logic-ifelse
PPT
Tablas hash(Covadonga Quirós)
Metodos de ordenamiento
Tablas hash (Adrián García Amores)
Tabla Hash ( Andrea Bedia Suarez )
Tablas hash (Héctor Fernández Rabanal)
Tablas hash (Diego Vallina Monteagudo)
Tablas hash(Roberto Valdés Pérez)
Tablas Hash (Leticia Gutiérrez Sánchez)
AsignacióN DináMica
Arreglos multidimensionales y de apuntadores
Ejercicio 1
Swrewer nuevo hoy
Tablas Hash (María Macías Alonso)
Tablas Hash (Ana Argüelles Fonseca)
calculadora en c sharp
Tablas Hash
Comp logic-ifelse
Tablas hash(Covadonga Quirós)
Publicidad

Destacado (10)

DOC
3 desarollo manejo datos capitulo 2 -02 operaciones arreglos dos dime
DOCX
3 desarollo manejo datos capitulo 4 -02 aplicaciones colecciones
DOC
3 desarollo manejo datos capitulo 1 -02 operaciones con arreglos (3)
DOC
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (2)
DOC
3 desarollo manejo datos capitulo 1 -01 arreglos de dimension (6)
PDF
Javascript
DOC
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (5)
PPTX
3guillecollection
DOC
3 desarollo manejo datos capitulo 2 -02 operaciones arreglos dos dime (3)
DOC
Java 1
3 desarollo manejo datos capitulo 2 -02 operaciones arreglos dos dime
3 desarollo manejo datos capitulo 4 -02 aplicaciones colecciones
3 desarollo manejo datos capitulo 1 -02 operaciones con arreglos (3)
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (2)
3 desarollo manejo datos capitulo 1 -01 arreglos de dimension (6)
Javascript
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (5)
3guillecollection
3 desarollo manejo datos capitulo 2 -02 operaciones arreglos dos dime (3)
Java 1
Publicidad

Similar a 3 desarollo manejo datos capitulo 1 -03 aplicaciones con arreglos (2) (20)

PDF
S03 - Operaciones con arreglos_RSUNCX.pdf
PDF
S03 - Operaciones con arreglos_RSUNCX (1).pdf
PDF
S03 - Operaciones con arreglos_RSUNCX (1).pdf
DOCX
3 desarollo manejo datos capitulo 3 -03 aplicaciones arreglo objetos
PDF
16 Curso de POO en java - arreglos unidimensionales
PDF
7.arreglos en java
PDF
DCI_I50N_PPT_TEORIADEARREGLOS_S1_24C2A.pptx.pdf
PDF
Arreglos Unidimensionales - Java - NetBeans
PPT
PPT
2 2 1 Arreglos
 
PPT
PPT
PDF
Exposicion karen troya
PDF
Exposicion karen troya
PDF
Exposicion karen troya
PDF
Exposicion karen troya
PDF
Exposicion karen troya
PDF
Exposicion karen troya
S03 - Operaciones con arreglos_RSUNCX.pdf
S03 - Operaciones con arreglos_RSUNCX (1).pdf
S03 - Operaciones con arreglos_RSUNCX (1).pdf
3 desarollo manejo datos capitulo 3 -03 aplicaciones arreglo objetos
16 Curso de POO en java - arreglos unidimensionales
7.arreglos en java
DCI_I50N_PPT_TEORIADEARREGLOS_S1_24C2A.pptx.pdf
Arreglos Unidimensionales - Java - NetBeans
2 2 1 Arreglos
 
Exposicion karen troya
Exposicion karen troya
Exposicion karen troya
Exposicion karen troya
Exposicion karen troya
Exposicion karen troya

Más de luis freddy (6)

DOCX
3 desarollo manejo datos capitulo 4 -01 introduccion colecciones
DOCX
3 desarollo manejo datos capitulo 3 -02 busqueda arreglo objetos
DOCX
3 desarollo manejo datos capitulo 3 -01 arreglo objetos
DOC
3 desarollo manejo datos capitulo 2 -03 aplicaciones arreglos dos dime
PDF
Semaforo555
PPTX
La robotica pp
3 desarollo manejo datos capitulo 4 -01 introduccion colecciones
3 desarollo manejo datos capitulo 3 -02 busqueda arreglo objetos
3 desarollo manejo datos capitulo 3 -01 arreglo objetos
3 desarollo manejo datos capitulo 2 -03 aplicaciones arreglos dos dime
Semaforo555
La robotica pp

Último (10)

PDF
Vampiricas vacaciones y otros cuentos de risa (1).pdf
PPT
aditivos1.pptaditivos1.pptaditivos1.pptaditivos1.ppt
PPTX
SESIÓN 1.1 TECNOLOGÍA.pptxjjjbnnnnnkkkkk
PDF
1 Sistema Musculoesquelético. Lic. Pablo Rivas.pdf
PPTX
UNICEN.pptxJBJHFYTDRGFXHGVKJBLJK}L´LKOPUOIY
PPTX
anestesia intravenosa total y farmacos.pptx
PDF
lazos de sangre de amanda hocking en su segunda entrega
PDF
Bestias de la Edad Oscura - Pandemónium - Acto I y II
PDF
AINES PDF.pdfssssssssssssssssssssssssssssssssssssssssssssss
PDF
EL STREAMING COMO FORMA DE ENTRETENIMIENTO
Vampiricas vacaciones y otros cuentos de risa (1).pdf
aditivos1.pptaditivos1.pptaditivos1.pptaditivos1.ppt
SESIÓN 1.1 TECNOLOGÍA.pptxjjjbnnnnnkkkkk
1 Sistema Musculoesquelético. Lic. Pablo Rivas.pdf
UNICEN.pptxJBJHFYTDRGFXHGVKJBLJK}L´LKOPUOIY
anestesia intravenosa total y farmacos.pptx
lazos de sangre de amanda hocking en su segunda entrega
Bestias de la Edad Oscura - Pandemónium - Acto I y II
AINES PDF.pdfssssssssssssssssssssssssssssssssssssssssssssss
EL STREAMING COMO FORMA DE ENTRETENIMIENTO

3 desarollo manejo datos capitulo 1 -03 aplicaciones con arreglos (2)

  • 1. Aplicaciones con Arreglos Supongamos que queremos utilizar una aplicación para poder tomar un arreglo y voltearlo en otro, es decir supongamos que tenemos un arreglo con los números 1, 15, 17, 22 y 34 y los queremos cambiar al revés como 34, 22, 17, 15 y 1. La siguiente aplicación nos puede ayudar a comprender esto: public class AplicacionArreglo3 { public static void main(String[] args) { int arreglo1[] = { 1, 15, 17, 22, 34 }; int arreglo2[] = new int[arreglo1.length]; for (int i = 0; i < arreglo1.length; i++) { arreglo2[arreglo1.length - i - 1] = arreglo1 [i]; } System.out.println("Arreglo Inicial"); for (int i = 0; i < arreglo1.length; i++) { System.out.println("Elemento " + (i+1) + " = " + arreglo1[i]); } System.out.println("Arreglo Final"); for (int i = 0; i < arreglo2.length; i++) { System.out.println("Elemento " + (i+1) + " = " + arreglo2[i]); } } } Dicha aplicación muestra la siguiente salida: Vemos como la clave de la asignación de cada elemento del arreglo 2 esta en hacer un poco III. Desarrollo de aplicaciones con manejo de datos en la memoria
  • 2. de matemáticas, con la instrucción: arreglo2[arreglo1.length - i - 1] = arreglo1 [i]; En esta instrucción al último índice de la posición le quitamos el valor de i que es nuestra variable índice que avanza hasta llegar al último, pero si hacemos un poco de sustitución y decimos arreglo1 tiene 5 elementos, cuando la i es cero, entonces arreglo.length – i – 1 nos da 4 que es realmente la última posición, ya que iría de 0 a 4. Si sustituimos ahora con i en 1, tendríamos 5 – 1 – 1 que sería 3 y así sucesivamente. Contando las veces que se repite un número en un arreglo Esto nos puede servir para cuando trabajamos con números, supongamos que tenemos la siguiente aplicación, en la cual tenemos un arreglo y buscamos dos números en el, tenemos que utilizar un ciclo para la búsqueda y si queremos contar las veces que se encuentra el número podemos utilizar un contador para cada uno, veamos la aplicación: public class AplicacionArreglo4 { public static void main(String[] args) { int arreglo[] = { 1, 15, 17, 22, 34 , -5, 15, 22, 1}; int busca1 = 30; // numero 1 a buscar int conta1 = 0; // contar cuantas veces aparece int busca2 = 22; // numero 2 a buscar int conta2 = 0; // contar cuantas veces aparece for (int i = 0; i < arreglo.length; i++) { if (busca1 == arreglo[i]) { conta1++; } if (busca2 == arreglo[i]) { conta2++; } } System.out.println("Arreglo"); for (int i = 0; i < arreglo.length; i++) { System.out.println("Elemento " + (i+1) + " = " + arreglo[i]); } System.out.println("El numero " + busca1 + " aparece " + conta1 + " veces"); System.out.println("El numero " + busca2 + " aparece " + conta2 + " veces"); } } Dicha aplicación muestra el siguiente desplegado:
  • 3. Observamos que el conta1 solo se incrementa si el valor buscado busca1 aparece en el arreglo, de la misma manera con el valor busca2, se utiliza conta2. Juguemos ahora un poco con letras utilizando arreglos de caracteres, cambiando la aplicación quedaría como: public class AplicacionArreglo5 { public static void main(String[] args) { char arreglo[] = { 'a', 't', 'e', 'n', 'i' , 'd', 'a', 's'}; char busca1 = 's'; // caracter 1 a buscar int conta1 = 0; // contar cuantas veces aparece char busca2 = 'a'; // caracter 2 a buscar int conta2 = 0; // contar cuantas veces aparece for (int i = 0; i < arreglo.length; i++) { if (busca1 == arreglo[i]) { conta1++; } if (busca2 == arreglo[i]) { conta2++; } } System.out.println("Arreglo"); for (int i = 0; i < arreglo.length; i++) { System.out.println("Elemento " + (i+1) + " = " + arreglo[i]); } System.out.println("El caracter " + busca1 + " aparece " + conta1 + " veces"); System.out.println("El caracter " + busca2 + " aparece " + conta2 + " veces"); } } Esta aplicación mostraría el siguiente desplegado:
  • 4. Observamos entonces como un arreglo de caracteres puede ser manejado como un arreglo de números. Utilizando los caracteres y usando el ejemplo de invertir los números de un arreglo a otro, podemos observar como se puede invertir un arreglo de caracteres en otro, veamos la siguiente aplicación: public class AplicacionArreglo6 { public static void main(String[] args) { char arreglo1[] = { 'a', 't', 'e', 'n', 'i' , 'd', 'a', 's'}; char arreglo2[] = new char[arreglo1.length]; for (int i = 0; i < arreglo1.length; i++) { arreglo2[arreglo1.length - i - 1] = arreglo1 [i]; } System.out.println("Palabra Inicial"); for (int i = 0; i < arreglo1.length; i++) { System.out.println("Caracter " + (i+1) + " = " + arreglo1[i]); } System.out.println(); System.out.println("Palabra Final"); for (int i = 0; i < arreglo2.length; i++) { System.out.println("Caracter " + (i+1) + " = " + arreglo2[i]); } } } Observando el desplegado de esta aplicación quedaría: