ArreglosUnidimensionales enjava
Existenarreglosdeunadimensión (unidimensionales),dedosdimensiones Losarreglossonvariablesquealmacenanvarios valores del mismo tipo. El tamaño del arreglo es fijo, es decir, que en tiempo de ejecución no se puede modificar su tamaño. (bidimensionales) y de varias dimensiones.
Estas estructuras almacenan valores del MISMO TIPO de dato. Es decir, si se definió el arreglo de tipo entero, sólo almacena datos de tipo entero. Tienen un tamaño fijo. Al crear el arreglo se determina el número máximo de elementos que va a almacenar. El arreglo tiene posiciones, que son como casillas donde se almacenan los datos y esto es lo que permite conocer dónde quedó almacenado cada valor. Lasposiciones se inician a numerar desde 0. Ejemplo: posiciones Este arreglo de enteros tiene un tamaño de 10 y sus se enumeran de 0 a 9. Sólo hay valoresalmacenados en6 posiciones
‘a’‘G’‘G’‘m’‘m’‘h’‘7’‘7’‘%’‘y’‘y’ Ejemplo:Estearreglo decaracteres tiene un tamaño de 12 ¿Cómo se defineel arreglounidimensional en java? Si se va a definir un arreglo de tipocaracterde10posiciones llamado arreglo, sería así: tipotipoenterode5de5posiciones llamado k, sería así: int ó int ó int k[]=newint[5]; char arreglo[] = new ó char arreglo[]; char[10]; []k=newint[5]; arreglo = new char [10]; k[]; k = newint[5];
import java.io.*; import java.io.IOException; import javax.swing.JOptionPane; public class suma { public static void main(String[] args) throws IOException { int i; String vector[] = {"Avila","Burgos","León","Palencia","Salamanca", "Segovia","Soria","Valladolid","Zamora"}; String mensaje="\n"; for (i=0;i<9;i++) { mensaje = mensaje +vector[i] +"\n"; } JOptionPane.showMessageDialog ( null,"Elementos del vector\n"+mensaje,"Programa de ejemplo",JOptionPane.INFORMATION_MESSAGE); } }
import java.io.*; import java.io.IOException; import javax.swing.JOptionPane; public class suma { public static void main(String[] args) throws IOException { int i; char juan[] = {'a', 'e', 'i', 'o', 'u'}; String mensaje="\n"; for (i=0;i<5;i++) { mensaje = mensaje +juan[i] +"\n"; } JOptionPane.showMessageDialog ( null,"Elementos del vector\n"+mensaje,"Programa de ejemplo",JOptionPane.INFORMATION_MESSAGE); } }
¿Cómoseguardanloselementosenun arreglo unidimensional? Esnecesarioutilizarelnombredelarregloy se entre paréntesiscuadrados, almacenar el valor. laposiciónenlacualvaa Se declara el arreglode tipo entero ydedecinco posiciones llamado K: K int k[] = newint[5]; Se almacena el valor 8 primera posición (0): enlala 8 K k[0]=8; 01234
Se almacena el valor 3 segunda posición (1): enlala K 83 K[1]=3; Se almacena el valor tercera posición (2): 7enlala K 837 K[2]=7; El arreglo queda hastael momentocon las tres primeras posiciones asignadas
¿Cómo se accede a los datos arreglo unidimensional? almacenadosen un Cada posición del arreglo se toma comosifueraunavariable.Para 837 K estoesnecesarionombrarel arreglo cuadrado acceder. y la entre posición paréntesis que vamos a Tomando como baseel arreglo Kde lagráfica Para imprimir la posición 1 del arreglopor consola sería: System.out.println(K[1]); Por ventana emergente sería: JOptionPane.showMessageDialog(null, K[1]); En este caso se imprime3
837 K Si sequisiera sumar el valor de las tres posiciones llenas del arreglo en una variable llamada suma, sería: intsuma = K[0] + K[1] + K[2]; En este caso, en la variable suma queda almacenado el valor de 18 porque: = 18
Usodelosciclosciclosrepetitivospara recorrer arreglos unidimensionales El uso de ciclos repetitivos nos facilita el recorrido de los arreglos, de hecho, la forma adecuada de manejar un arreglo, es con el ciclo PARA (FOR). K 837 0Para0Para 1234 imprimir estearreglo con el ciclo for, sería así: La variable de control del ciclo se utiliza para identificar las posiciones del arreglo por eso se inicia en 0 for (int i=0; i<5; i++){ System.out.println(K[i]); } El ciclo for llega hasta el tamaño máximo del arreglo y como inicia en 0 termina cuando sea 5 Imprime837837
Forma de repetitivo llenar For un arreglo con el ciclo int K[] = new int[5]; for (int i=0; i<5; i++){ K[i] = JOptionPane.showInputDialog(“Ingrese el valor del arreglo en la posición “ +i); } K Si el usuario ingresalos El arreglo queda así: siguientesvalores: K
Ejemplo:Algoritmoparallenarllenary obtener la sumatoria de un arreglo de los elementos Constante TAM con el tamaño k del arreglo Sielarreglo se llenara con estos datos, la sumatoria sería: =20 import java.io.IOException; import javax.swing.JOptionPane; public class ejemplos { public static void main(String[] args) throws IOException { final int TAM=5; int suma; Int k[] = new int[TAM]; String entrada; suma = 0; for (int i=0; i<TAM; i++){ entrada= JOptionPane.showInputDialog("ingreseel valor del arreglo posición : " +i); k[i] = Integer.parseInt(entrada); suma = suma + k[i]; } JOptionPane.showMessageDialog(null,"La sumatoria es: "+suma); }} import java.io.IOException; import javax.swing.JOptionPane; public class ejemplos { public static void main(String[] args) throws IOException { final int TAM=5; int suma; Int k[] = new int[TAM]; String entrada; suma = 0; for (int i=0; i<TAM; i++){ entrada= JOptionPane.showInputDialog("ingreseel valor del arreglo posición : " +i); k[i] = Integer.parseInt(entrada); suma = suma + k[i]; } JOptionPane.showMessageDialog(null,"La sumatoria es: "+suma); }}
Ejemplo: Algoritmo para llenar y obtener la sumay el promedio de loselementosdeunarreglo k Si el arreglo se llenara con estos datos, la suma sería: = 20 y el promedio sería: 20 / 5 = 4 import java.io.IOException; import javax.swing.JOptionPane; public class ejemplos { public static void main(String[] args) { final int TAM=5; int suma; intk[] = new int[TAM]; double promedio; String entrada; suma = 0; for (int i=0; i<TAM; i++){ entrada= JOptionPane.showInputDialog("ingreseel valor del arreglo posición : " +i); k[i] = Integer.parseInt(entrada); suma = suma + k[i]; } promedio = (double) suma/TAM; JOptionPane.showMessageDialog(null,"La sumatoria es: "+suma+ " y el promedio es: "+promedio); }}
import java.io.*; import java.io.IOException; import javax.swing.JOptionPane; public class suma { public static void main(String[] args) throws IOException { int i,x; x=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el tamano del vector")); int vector[] = new int[x]; for (i=0;i<x;i++) vector[i]=i; String mensaje="\n"; for (i=0;i<x;i++) { mensaje = mensaje +vector[i] +"\n"; } JOptionPane.showMessageDialog ( null,"Elementos del vector\n"+mensaje,"Programa de ejemplo",JOptionPane.INFORMATION_MESSAGE); } } Unidimensionales – Ejemplo 1
package vector; import java.io.IOException; import javax.swing.JOptionPane; public class Vector { public static void main(String[] args) throws IOException { int i,x; x=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el tamano del vector")); int vector[] = new int[x]; int j, suma =0; for (i=0;i<x;i++) { j=Integer.parseInt(JOptionPane.showInputDialog("Ingrese los elementos del vector")); vector[i]=j; suma = suma +vector[i];} String mensaje="\n"; for (i=0;i<x;i++) { mensaje = mensaje +vector[i] +"\n"; } mensaje = mensaje + "\n Suma = " + suma; JOptionPane.showMessageDialog ( null,"Elementos del vector\n"+mensaje,"Programa de ejemplo",JOptionPane.INFORMATION_MESSAGE); } } Unidimensionales – Ejemplo 1
Diseñe un programa que permita solicitar por pantalla la cantidad de estudiantes su nota obtenidas en una asignatura el programa debe permitir ver los estudiantes con sus notas, y cual de los estudiantes obtuvo la nota mas alta y cual la más baja.
import java.io.IOException; import javax.swing.JOptionPane; public class borro { public static void main(String[] args) throws IOException { int x,mayor,indice,menor; x=Integer.parseInt(JOptionPane.showInputDialog("ingrese la cantidad de estudiantes: ")); int notas[] = new int[x]; String nombres[] = new String[x]; for (int i=0; i < x; i++) { nombres[i]= JOptionPane.showInputDialog("Introduzca el Nombre"); notas[i]=Integer.parseInt( JOptionPane.showInputDialog("Introduzca la Nota de Informática") ); } String estudiante=""; for (int j=0; j < x; j++) { estudiante= estudiante + "El nombre es "+nombres[j]+" La nota es: "+notas[j]+"\n"; } JOptionPane.showMessageDialog ( null,"Elementos del vector\n"+estudiante,"Programa de ejemplo",JOptionPane.INFORMATION_MESSAGE); // Calcula la nota mayor mayor =notas[0]; indice=0; for (int j=0; j < nombres.length; j++) { if (mayor < notas[j]) { mayor =notas[j]; indice=j;} } JOptionPane.showMessageDialog(null,"El estudiante con la nota mayor es "+nombres[indice]+" La nota es: "+notas[indice]+"\n"); // calcula nota menor menor =notas[0]; indice=0; for (int j=0; j < nombres.length; j++) { if (menor > notas[j]) { menor =notas[j]; indice=j;} } JOptionPane.showMessageDialog(null,"El estudiante con la nota menor es "+nombres[indice]+" La nota es: "+notas[indice]+"\n"); } }
package borrar; import java.io.IOException; import javax.swing.JOptionPane; public class Borrar { public static void main(String[] args) throws IOException { int x,mayor,menor; x=Integer.parseInt(JOptionPane.showInputDialog("ingrese la cantidad de estudiantes: ")); int notas[] = new int[x]; String nombres[] = new String[x]; for (int i=0; i < x; i++) { nombres[i]= JOptionPane.showInputDialog("Introduzca el Nombre"); notas[i]=Integer.parseInt( JOptionPane.showInputDialog("Introduzca la Nota de Informática") ); } String estudiante=""; for (int j=0; j < x; j++) { estudiante= estudiante + "El nombre es "+nombres[j]+" La nota es: "+notas[j]+"\n"; } JOptionPane.showMessageDialog ( null,"Elementos del vector\n"+estudiante,"Programa de ejemplo",JOptionPane.INFORMATION_MESSAGE); // Calcula la nota mayor mayor =notas[0]; for (int j=0; j <x; j++) { if (mayor < notas[j]) { mayor =notas[j]; } estudiante="\n"; for (int j=0; j < x; j++) { if (mayor == notas[j]){ estudiante= estudiante + "El nombre es "+nombres[j]+" La nota es: "+notas[j]+"\n"; } } JOptionPane.showMessageDialog(null,"estudiante con las nota mayor es "+estudiante+"\n"); // calcula nota menor menor =notas[0]; for (int j=0; j < nombres.length; j++) { if (menor > notas[j]) { menor =notas[j]; } estudiante="\n"; for (int j=0; j < x; j++) { if (menor == notas[j]){ estudiante= estudiante + "El nombre es "+nombres[j]+" La nota es: "+notas[j]+"\n"; } } JOptionPane.showMessageDialog(null,"estudiante con las nota menor es "+estudiante+"\n"); } }