Arreglos

Un arreglo permite almacenar un conjunto de datos de un mismo tipo, en forma secuencial.

Declaraci�n

tipo identificador[ ] = new tipo[longitud];

Ejemplo

int 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.

Ejemplo

datos[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

Ejemplo

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); } }


Hosted by www.Geocities.ws

1