Un arreglo permite almacenar un conjunto de datos de un mismo tipo, en forma secuencial.
Declaraci�nint datos[ ] = new int[10]; double arr[ ] = new double[50];
El arreglo datos est� preparado para almacenar 10 elementos de tipo entero (int). El acceso secuencial al estos elementos se hace con el operador [ ] desde el elemento 0 hasta el 9.
Ejemplodatos[0] = 3; datos[1] = 5; : : datos[9] = 1;
Todos los arrreglos tienen una propiedad que retorna la longitud del arreglo. Esta propiedad se llama
length y se accede a ella de la siguiente manera :
identificador.length
int arreglo[ ] = new int[20];
System.out.println("Longitud arreglo : " + arreglo.length);
int i;
/* Se asignaran los valores : 0, 10 , 20, 30 ,..., 180, 190. */
for(i = 0; i < arreglo.length; i++)
{
arreglo[ i ] = i * 10;
}
System.out.println("Datos del arrreglo : ");
System.out.println( );
for(i =0; i < arreglo.length; i++)
System.out.println(arreglo[ i ]);
Inicializaci�n
tipo identificador[ ] = { lista de valores }
ejemplo :
int arr[ ] = {3,5,6,2,7};
double vector[ ] = {3.56, 2.56 , -0.23};
Paso de un arreglo como par�metro a un m�todo
Lo primero que hay que saber es
que un arreglo se pasa por referencia, o sea que los valores se pueden modificar dentro del m�todo.
Ejemplo
void imp_arreglo(int arr[ ])
{
for(int i = 0; i < arr.length; i++)
System.out.print("\t" + arr[ i ]);
}
*nota : "\t" permite que los datos del arreglo sean tabulados por el m�todo print.
A continuaci�n un programa que inicializa tres arreglos y llama al m�todo imp_arreglo.
public class tabul
{
public static void main(String arg[ ])
{
System.out.println( );
int arr[ ] = {2,5,689,8,6};
imp_arreglo(arr);
System.out.println( );
int arr2[ ] = {31,823,3,13,90};
imp_arreglo(arr2);
System.out.println( );
System.out.println( );
}
public static void imp_arreglo(int arr[ ])
{
for(int i = 0; i < arr.length; i++)
System.out.print("\t" + arr[ i ]);
}
}
Salida del programa :
Lectura por teclado
La lectura es similar a la lectura de una variable cualquiera. Lo �nico que cambia
es que la lectura est� dentro de un ciclo for.
Ejemplo : Programa que lee un arreglo por teclado y calcula la media,varianza y desviaci�n est�ndar.
import java.io.*;
public class estad1
{
public static void main(String arg[ ]) throws IOException
{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
int tam;
System.out.println("\n Pograma de estadistica\n");
System.out.print(" Ingrese el numero de datos : ");
tam = Integer.parseInt(in.readLine( ));
System.out.println( );
if(tam > 1)
{
int arreglo[ ] = new int[tam];
/* Lectura del arreglo */
for(int i = 0; i < arreglo.length; i++)
{
System.out.print(" Ingrese elemento " + i + " : ");
arreglo[ i ] = Integer.parseInt(in.readLine( ));
}
System.out.println("\n Resultados \n");
double aux_media = media(arreglo);
System.out.println(" media : " + aux_media);
double aux_var = varianza(arreglo,aux_media);
System.out.println(" varianza : " + aux_var);
System.out.println(" desv. estandar : " + Math.sqrt(aux_var));
}
else
{
System.out.println("\n numero de elementos no valido!");
}
System.out.println( );
}
public static double media(int arr[ ])
{
double sum = 0.0;
for(int i = 0; i < arr.length ; i++)
{
sum += arr[ i ];
}
return sum / arr.length;
}
public static double varianza(int arr[ ], double media)
{
double sum = 0.0;
for(int i = 0; i < arr.length ; i++)
{
sum += Math.pow(arr[ i ] - media,2);
}
return sum / (arr.length - 1);
}
}