Sei sulla pagina 1di 5

TALLER DE PROGRAMACION INTERMEDIA 5 AO

Arreglos: (extrado del libro Java 2 Manual de programacin Joyanes Aguilar)


7.1.
En captulos anteriores se han utilizado variables para hacer los programas ms flexibles. Gracias a las
variables se pueden almacenar, convenientemente, datos en los programas y recuperarlos por su
nombre. Se pueden tambin obtener entradas del usuario del programa. Las variables pueden
cambiar constantemente su valor. Sin embargo, en algunos casos se han de almacenar un gran
nmero de valores en memoria durante la ejecucin de un programa.
Por ejemplo, suponga que desea ordenar un grupo de nmeros, stos se deben almacenar en
memoria ya que se han de utilizar posteriormente para comparar cada nmero con los restantes.
Almacenar los nmeros requiere declarar variables en el programa y es prcticamente imposible
declarar variables para miembros individuales, se necesita un enfoque organizado y eficiente. Todos
los lenguajes de programacin, incluyendo Java, proporcionan una estructura de datos, array
(<matriz, vector,,) capaz de almacenar una coleccin de datos del mismo tipo. Java trata estos arrays
como objetos.

CONCEPTO DE ARRAY
Un array (((matriz, vector, lista))) es un tipo especial de objeto compuesto por una coleccin de elementos
del mismo tipo de datos que se almacenan consecutivamente en memoria. I,a Figura 7.1 es un array de 10
elementos de tipo double y se representa por un nombre, lista, con ndices o subndices.




Los arrays pueden ser unidimensionales (Figs. 7.1 y 7.2), conocidos tambin como listas o vectores, y
multidimensionales, conocidos tambin como tablas o matrices, que pueden tener dos o ms dimensiones.

7.2. PROCESO DE ARRAYS
El proceso que se puede realizar con arrays abarca las siguientes operaciones: declaracin, creacin,
inicializacin y utilizacin. Las operaciones de declaracin, creacin e inicializacin son necesarias para
poder utilizar un array.
TALLER DE PROGRAMACION INTERMEDIA 5 AO

7.2.1. Declaracin
La declaracin de un array es la operacin mediante la cual se define su nombre con un identificador vlido
y el tipo de los elementos del array. La sintaxis para declarar un array puede adoptar dos formatos:
tipoDato [ ] nombreArray
tipoDato nombreArray []
Ejemplo
double [] miLista;
double miLista[]; } Se declara un array miLista de tipo double

float temperatura[];
float [ ] temperatura; } Se declara un array temperatura de tipo float
Las declaraciones no especifican el tamao del array que se especificar cuando se cree el mismo.

7.2.2. Creacin
Un array Java es un objeto y la declaracin no asigna espacio en memoria para el array. No se pueden
asignar elementos al array a menos que el array est ya creado.
Despus que se ha declarado un array se puede utilizar el operador new para crear el array con la sintaxis
siguiente:
nombreArray = new tipoDato [ tamao] ;
nombreArray es el nombre del array declarado previamente, tipoDato es el tipo de dato de los elementos
del array y tamao es la longitud o tamao del array y es una expresin entera cuyo valor es el nmero de
elementos del array.

Ejemplo
miLista = new double [8]; / / array miLista de 8 elementos
temperatura = new float [30]; // array temperatura de 30 elementos

double [] miLista = new double[8];
float temperatura[] = new float[30];


Un array completo se puede inicializar con una sintaxis similar a
double[] miLista = { 1.5, 2.45, 3.15, 7.25, 8.4 } ;
esta sentencia crea el array miLista que consta de cinco elementos.

Clculo del tamao
El tamao de un array se obtiene con una variable instancia length. As, por ejemplo, si se crea un array
miLista, la sentencia miLista.length devuelve el tamao del array miLista (10, por ejemplo).

Utilizacin de los elementos del array
Las variables que representan elementos de un array se utilizan de igual forma que cualquier otra variable.
Algunas sentencias permitidas en Java:
1. temperatura[5] = 45;
temperatura [8] = temperatura [5] + 10;
System.out.println(temperatura[8]);
2. int punto = 5;
temperatura [punto+3] = 55;
System.out .println ("La temperatura 8 es + temperatura[punto+3] ) ;
3. System.out.println ("La segunda entrada es + entrada[2]);

Se pueden procesar elementos de un array mediante bucles (por ejemplo, for) por las siguientes razones:
TALLER DE PROGRAMACION INTERMEDIA 5 AO

Todos los elementos del array son del mismo tipo y tienen las mismas propiedades; por esta razn,
se procesan de igual forma y repetidamente' utilizando un bucle.
El tamao de un array se conoce, por lo que el bucle ms idneo es for

Ejemplo
1. El bucle for siguiente introduce valores en los elementos del array. El tamao del array se obtiene en
miLista.length.
for (int i = 0; i < miLista.length; i++){
miLista[i] = (double) i;}

2. int[] cuenta = new int [100] ;
int i;
for (i=0 ; i < cuenta.length; i++){
cuenta[i] = 0;}

7.3. ARRAYS DE OBJETOS
Los ejemplos anteriores han creado arrays de elementos de tipos primitivos. Es posible tambin crear
arrays de cualquier tipo de objeto, aunque el proceso es un poco ms complicado. Por ejemplo, la siguiente
sentencia declara un array de 10 objetos Circulo (Circulo es una clase definida previamente):
Circulo [ ] arregloCirculo = new Circulo [10] ;
El array de objetos se inicializa de modo similar a un array ordinario:
for (int i = 0; i < arregloCirculo.length; i++){
arregloCirculo [i] = new Circulo ( ) ;}

Ejemplos:
import java.io.*;
public class Vivienda {

float metros;
int codigo;
float valormetro;

public Vivienda()throws IOException{
BufferedReader ent=new BufferedReader(new InputStreamReader(System.in));

System.out.println("ingrese codigo de casa ");
this.codigo=Integer.parseInt(ent.readLine());
System.out.println("ingrese metros cuadrados ");
this.metros=Float.parseFloat(ent.readLine());

this.valormetro= (float) 2365.48;
}

public float valorcasa(){

return (this.metros*this.valormetro); }

}

import java.io.*;

public class usoVivienda {

public static void main(String[] args) throws IOException{

TALLER DE PROGRAMACION INTERMEDIA 5 AO

System.out.println("Ingrese cantidad de casas a valuar: ");
BufferedReader ent=new BufferedReader(new InputStreamReader(System.in));
int totcasas=Integer.parseInt(ent.readLine());
Vivienda[] miCasa=new Vivienda[totcasas] ;

for(int i=0;i<miCasa.length;i++){

miCasa[i]=new Vivienda();
}

for(int i=0;i<miCasa.length;i++){
System.out.println("Casa codigo: "+miCasa[i].codigo+" El valor de la casa es: $"+
miCasa[i].valorcasa()); }
}
}

public class Alumno {
double nota;
static double notaCorte=6.0;
public Inicializa(double nota) {
this.nota=nota;
}
boolean estaAdmitido(){
return (nota>=notaCorte); }
}

En una clase AlumnoApp, utilizamos los objetos de la siguiente forma:

import java.io.*
class AlumnoApp {
static public void main (String [] arg) {
//Creamos un array de cuatro alumnos y asignamos a cada uno de ellos una nota.

Alumno[] alumnos={new Alumno(), new Alumno(), new Alumno(), new Alumno()};

//inicializa la nota de los alumnos

alumnos[0].Inicializa(5.5);
alumnos[1].Inicializa(6.3);
alumnos[2].Inicializa(7.2);
alumnos[3].Inicializa(5.9);

//Contamos el nmero de alumnos que estn admitidos

int numAdmitidos=0;
for(int i=0; i<alumnos.length; i++){
if (alumnos[i].estaAdmitido()){
numAdmitidos++;
}
}
System.out.println("admitidos "+numAdmitidos);

//Accedemos al miembro dato notaCorte desde un objeto de la clase Alumno, para cambiarla
a 7.0
alumnos[1].notaCorte=7.0;
//Comprobamos que todos los objetos de la clase Alumno tienen dicho miembro dato esttico
notaCorte cambiado a //7.0

for(int i=0; i<alumnos.length; i++){
System.out.println("nota de corte "+ alumnos[i].notaCorte);
}
}
}

TALLER DE PROGRAMACION INTERMEDIA 5 AO

Desarrollar una aplicacin que ayude a gestionar las notas de un centro educativo. Crear una clase
alumno con el nombre del alumno, su dni, las notas del primer trimestre, segundo trimestre y
tercer trimestre. Calcular la nota final que ser el promedio de los 3 trimestres.
El programa debe gestionar N alumnos y mostrar sus datos.

Potrebbero piacerti anche