Vous êtes sur la page 1sur 5

TALLER DE PROGRAMACION INTERMEDIA 5º AÑO

Arreglos: (extraído del libro “Java 2 Manual de programación” – Joyanes Aguilar)

7.1.

 

En capítulos anteriores se han utilizado variables para hacer los programas más flexibles. Gracias a las variables se pueden almacenar, convenientemente, datos en los programas y recuperarlos por su nombre. Se pueden también obtener entradas del usuario del programa. Las variables pueden cambiar constantemente su valor. Sin embargo, en algunos casos se han de almacenar un gran número de valores en memoria durante la ejecución de un programa. Por ejemplo, suponga que desea ordenar un grupo de números, éstos se deben almacenar en memoria ya que se han de utilizar posteriormente para comparar cada número con los restantes. Almacenar los números requiere declarar variables en el programa y es prácticamente imposible declarar variables para miembros individuales, se necesita un enfoque organizado y eficiente. Todos los lenguajes de programación, incluyendo Java, proporcionan una estructura de datos, array (<matriz, vector,,) capaz de almacenar una colección 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 colección 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 subíndices.

 
7.1. En capítulos anteriores se han utilizado variables para hacer los programas más flexibles. Gracias a
7.1. En capítulos anteriores se han utilizado variables para hacer los programas más flexibles. Gracias a

Los arrays pueden ser unidimensionales (Figs. 7.1 y 7.2), conocidos también como listas o vectores, y multidimensionales, conocidos también como tablas o matrices, que pueden tener dos o más dimensiones.

7.2.

PROCESO DE ARRAYS

El proceso que se puede realizar con arrays abarca las siguientes operaciones: declaración, creación, inicialización y utilización. Las operaciones de declaración, creación e inicialización son necesarias para poder utilizar un array.

TALLER DE PROGRAMACION INTERMEDIA 5º AÑO

  • 7.2.1. Declaración

La declaración de un array es la operación mediante la cual se define su nombre con un identificador válido 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 tamaño del array que se especificará cuando se cree el mismo.

  • 7.2.2. Creación

Un array Java es un objeto y la declaración no asigna espacio en memoria para el array. No se pueden asignar elementos al array a menos que el array esté ya creado. Después que se ha declarado un array se puede utilizar el operador new para crear el array con la sintaxis siguiente:

nombreArray = new tipoDato [ tamaño] ; nombreArray es el nombre del array declarado previamente, tipoDato es el tipo de dato de los elementos del array y tamaño es la longitud o tamaño del array y es una expresión entera cuyo valor es el número 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];

TALLER DE PROGRAMACION INTERMEDIA 5º AÑO 7.2.1. Declaración La declaración de un array es la operación

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.

Cálculo del tamaño

El tamaño 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 tamaño del array miLista (10, por ejemplo).

Utilización 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º AÑO

Todos los elementos del array son del mismo tipo y tienen las mismas propiedades; por esta razón,

se procesan de igual forma y repetidamente' utilizando un bucle. El tamaño de un array se conoce, por lo que el bucle más idóneo es for

Ejemplo

1. El bucle for siguiente introduce valores en los elementos del array. El tamaño 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 también crear arrays de cualquier tipo de objeto, aunque el proceso es un poco más 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º AÑO

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

Vivienda
Vivienda

[] miCasa=new

  • [totcasas] ;

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

 

miCasa[i]=new

  • ();

}

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 número de alumnos que están 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 estático 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º AÑO

Desarrollar una aplicación 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.