You are on page 1of 9

Arreglos (Array)

Definicin: son estructuras de datos, donde cada elemento conserva una posicin en
memoria. Los datos de un array, estn diseados de forma que unos estn a continuacin de
otros.
Para manejar la posicin de sus elementos disponen de un sub-ndice:
-

Si tiene un sub-ndice sern unidimensionales o vectores.

Si tienen 2 sub-ndices sern bidimensionales o matrices.

Si tienen ms de 2 sub-ndices sern multidimensionales.


Los arrays sern del mismo tipo de los datos que guardaremos en estos.
Arreglos Unidimensionales: los array sern declarados de la misma manera que cualquier
variable, con la diferencia que se le agregarn un par de corchetes [ ] al final de su
nombre, lo que representar que son de una sola dimensin. A continuacin los tipos
bsicos para declarar un array.
Array de tipo cadena:
String nombre[ ];
Laura
Esteban
Paula
Juan

Posicin 0
Posicin 1
Posicin 2
Posicin 3

Array de tipo entero int edad[ ]


19
21
18
24

Posicin 0
Posicin 1
Posicin 2
Posicin 3

Array de tipo real:


double talla[ ];
1.55
1.72
1.65
2.11

Posicin 0
Posicin 1
Posicin 2
Posicin 3

Otra forma de declaracin es colocando los corchetes luego del tipo del array.
Ejemplo:
String[ ] nombre;
int[ ] edad;
double[ ] talla;
Creacin del array: para la creacin del array se usar la siguiente forma:
nombre_array = new tipo[ tamao];
Ejemplo:
nombre = new String[4];
edad = new int[4];
talla = new double[4];
Estos array tienen 4 espacios para datos, la posicin de cada dato va del 0 al 3.
Ingresar elementos: para el ingreso de datos a un array, es necesario mencionar el nombre
del array y la posicin en la que se agregar dicho dato.
Ejemplo: ingresar los datos del array nombre.
nombre[0] = Laura;
nombre [1] = Esteban;
nombre [2] = Paula;
nombre [3] = Juan;
Otra forma de cargar los datos es:
nombre[ ] = {Laura, Esteban, Paula, Juan};
Acceso a un elemento: para acceder a un elemento de cualquier array, es necesario
mencionar el nombre del array y la posicin, del dato que necesitamos.
Ejemplo: imprimir los datos del array edad.
imprimir(Edad de la posicin 0: +edad[0] );
imprimir(Edad de la posicin 1: +edad[1] );

imprimir(Edad de la posicin 2: +edad[2] );


imprimir(Edad de la posicin 3: +edad[3] );
Lo ms aconsejable para manejar arrays es crear Clases propias, las cuales permitirn
manejar en una clase la GUI y la lgica, y en la otra clase el array y los mtodos necesarios
para su funcionamiento.
A continuacin mostrares un programa que permite el ingreso de precios y los almacena en
el array.

Clase Principal: ArregloUnidimensional


// invocacin de libreras
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class ArregloUnidimensional extends JApplet implements ActionListener{
//declaracin de variables globales
JLabel lblTitulo,lblPrecio;
JTextField txtPrecio;
JButton btnProcesar,btnBorrar;
JTextArea txtArea;
JScrollPane scpScroll;

//llamada a la Clase Precios


/*creamos una variable "p" de tipo Precios que contendr a la clase Precios
con esto podremos utilizar todos los mtodos creados en esa clase*/
Precios p=new Precios( );
// GUI
public void init( ) {
getContentPane( ).setLayout(null);
//creamos el titulo centrado
lblTitulo = new JLabel("REGISTRO DE PRECIOS",SwingConstants.CENTER);
lblTitulo.setBounds(150,20,200,20);
getContentPane( ).add(lblTitulo);
lblPrecio = new JLabel("Ingrese un precio:");
lblPrecio.setBounds(50,60,150,20);
getContentPane( ).add(lblPrecio);
txtPrecio = new JTextField( );
txtPrecio.setBounds(200,60,50,20);
getContentPane( ).add(txtPrecio);
btnProcesar = new JButton("Procesar");
btnProcesar.setBounds(125,100,100,20);
btnProcesar.addActionListener(this);
getContentPane( ).add(btnProcesar);
btnBorrar = new JButton("Borrar");
btnBorrar.setBounds(275,100,100,20);
btnBorrar.addActionListener(this);
getContentPane( ).add(btnBorrar);

txtArea = new JTextArea( );


//el rea no se podr editar
txtArea.setEditable(false);
scpScroll = new JScrollPane(txtArea);
scpScroll.setBounds(50,150,400,130);
getContentPane( ).add(scpScroll);
}
public void actionPerformed(ActionEvent e){
if(e.getSource( ) = = btnProcesar)
procesar( );
if(e.getSource( ) = = btnBorrar)
borrar( );
}
//mtodo procesar
public void procesar( ){
//leemos el precio ingresado en la GUI
double precio = getPrecio( );
//verificamos si el array esta lleno
if(p.getIndice( ) = = p.getTamao( ))
mensaje("El array esta lleno");
//sino, si hay espacio
lose{
//adicionamos un precio al array
p.adicionar(precio);
borrar( );

listar( );
}
}
//mtodo listar, mostrara los precios del array
public void listar( ){
//recorremos todo el array imprimiendo los precios en cada posicin
for(int i=0;i<p.getIndice( );i++)
imprimir("Precio de la posicion "+i+" : S/."+p.obtener(i));
}
//mtodo que lee el precio de la GUI
public double getPrecio( ){
return Double.parseDouble(txtPrecio.getText( ));
}
//mtodo borrar
public void borrar( ){
txtPrecio.setText("");
txtArea.setText("");
txtPrecio.requestFocus( );
}
//mtodo imprimir
public void imprimir(String s){
txtArea.append(s+"\n");
}
//mtodo mensaje para validar
public void mensaje(String s){

JOptionPane.showMessageDialog(this,s,"ERROR",0);
}
}//fin del programa
Clase genrica: Precios
/*en la clase Precios creamos el array el cual permitir
guardar precios en la memoria*/
public class Precios{
//declaramos las variables
private double array[ ];
private int indice;
//mtodo constructor inicializa variables
public Precios( ){
//creamos el array de tipo double el cual contendr mximo 10 precios
array = new double[10];
//inicializamos el ndice en 0
ndice = 0;
}
//mtodo que retorna el ndice
public int getIndice( ){
return indice;
}
//mtodo que retorna el tamao mximo del array
public int getTamao( ){
return array.length;
}

//mtodo que recibe un precio y lo adiciona al array


public void adicionar(double precio){
array[indice]=precio;
indice++;
}
//mtodo que recibe una posicion y retorna el precio de esa posicion
public double obtener(int posicion){
return array[posicion];
}
}//fin de la clase Precios
Como vemos, en la clase genrica se manejan 4 mtodos bsicos:
public int getIndice( ){
return indice;
}
Este mtodo retornara el ndice, esto permitir saber en que posicin del array encontramos,
ser til para las repeticiones como la del mtodo listar de la clase principal.
public int getTamao( ){
return array.length;
}
Este mtodo retornar el tamao mximo del array, en este caso retornar 10, ya que ese fue
el tamao que le dimos a el array en el constructor. Como vemos basta con colocar el
nombre del array seguido de la funcin length que significa longitud.
public void adicionar(double precio){
array[indice]=precio;
indice++;
}

Este mtodo recibir un precio de tipo double y lo adicionara en el array en la posicin


en la que se encuentre en el ndice, la primera vez agregar un precio en la posicin 0,
ya que este fue el valor inicial que le dimo, luego aumentamos el ndice en 1, as la
prxima vez que se ingrese un dato, este ser ingresado en la siguiente posicin.
public double obtener(int posicion){
return array[posicion];
}
Este mtodo recibir una posicin y retorna el valor guardado en dicha posicin. Por
ejemplo visualicemos los datos ingresados en el ejemplo anterior.

Si a este mtodo le enviramos la posicin 2 este retornar array[ 2 ] lo que es igual a


45.0.

You might also like