Sie sind auf Seite 1von 5

ARREGLO DE OBJETOS

Un arreglo de objetos se define como el contenido total de todos los objetos creados para la
ejecucin del programa, cada una de estos ubicados en una posicin del arreglo.
En el arreglo de objetos el constructor que utilizaremos es sin argumentos
Ejemplo:



Como se declara en java:
int a [] = new int[2]; // un arreglo de enteros string [] b = new string[3]; // un arreglo de cadenas
Para tener datos constantes dentro del arreglo necesitamos algo como por ejemplo:
a[0] = 3; a[1] = 5; b [0] = "maria"; b [1] = "martha"; b [2] = "soldedad";
Realizar el arreglo para los enteros
Sintaxis
for(int i=0;i < a.length; i++){ // el metodo <b>length</b> obtiene la longitud de el arreglo (sea int
array, string o string array, etc.) todos los array de objetos primitivos tienen ese metodo, o
cualquier arreglo.
Impresin de un arreglo con datos enteros
System.out.println(a[i]); // y con este simple llamdo al objeto <b>i</b> del arreglo <b>a</b> se
puede manipular el objeto. }
Ahora el arreglo de String
for(int i=0;i < b.length();i++){ System.out.println(b[i]); // se le pasa el objeto y como variable el
indice de este, para poder movernos por todo el arreglo. }













En pocas palabras, la mayora de los arreglos UNIDIMENSIONALES en Java se realizan de la
siguiente forma:
1.

import javax.swing.*;
public class VotacionEstudiantes {
public static void main( String args[] )
{
int respuestas[] = { 1, 2, 6, 4, 8, 5, 9, 7, 8, 10, 1, 6, 3, 8, 6,
10, 3, 8, 2, 7, 6, 5, 7, 6, 8, 6, 7, 5, 6, 6, 5, 6, 7, 5, 6,
4, 8, 6, 8, 10 };
int frecuencia[] = new int[ 11 ];
// para cada respuesta, seleccionar el elemento de respuestas y usar ese valor
// como ndice en frecuencia para determinar el elemento a incrementar
for ( int respuesta = 0; respuesta < respuestas.length; respuesta++ )
++frecuencia[ respuestas[ respuesta ] ];
String salida = "Calificacin\tFrecuencia\n";
// anexar frecuencias al String salida
for ( int calificacion = 1; calificacion < frecuencia.length; calificacion++ )
salida += calificacion + "\t" + frecuencia[ calificacion ] + "\n";
JTextArea areaSalida = new JTextArea();
areaSalida.setText( salida );
JOptionPane.showMessageDialog( null, areaSalida,
"Programa de votacin de estudiantes", JOptionPane.INFORMATION_MESSAGE );
System.exit( 0 );
} // fin de main
} // fin de la clase VotacionEstudiantes
2.
// Tirar un dado de seis lados 6000 veces.
import javax.swing.*;
public class TirarDadoArr {
public static void main( String args[] )
{
int frecuencia[] = new int[ 7 ];
// tirar un dado 6000 veces; usar el valor del dado como ndice de frecuencia
for ( int tiro = 1; tiro <= 6000; tiro++ )
++frecuencia[ 1 + ( int ) ( Math.random() * 6 ) ];
String salida = "Cara\tFrecuencia";
// anexar frecuencias al String salida
for ( int cara = 1; cara < frecuencia.length; cara++ )
salida += "\n" + cara + "\t" + frecuencia[ cara ];
JTextArea areaSalida = new JTextArea();
areaSalida.setText( salida );

JOptionPane.showMessageDialog( null, areaSalida,
"Tirar un dado 6000 veces", JOptionPane.INFORMATION_MESSAGE );
System.exit( 0 );
} // fin de main
} // fin de la clase TirarDado
Ven la diferencia?
Ahora vamos con el arreglo bidimensional, mejor conocido como matriz
/ Ejemplo de arreglo bidimensional.
import java.awt.*;
import javax.swing.*;
public class ArregloDoble extends JApplet {
int calificaciones[][] = { { 77, 68, 86, 73 },
{ 96, 87, 89, 81 },
{ 70, 90, 86, 81 } };
int estudiantes, examenes;
String salida;
JTextArea areaSalida;
// inicializar campos
public void init()
{
estudiantes = calificaciones.length; // nmero de estudiantes
examenes = calificaciones[ 0 ].length; // nmero de exmenes
// crear objeto JTextArea y adjuntarlo al subprograma

areaSalida = new JTextArea();
Container contenedor = getContentPane();
contenedor.add( areaSalida );
// crear cadena de salida
salida = "El arreglo es:\n";
crearCadena();
// llamar a los mtodos minima y maxima
salida += "\n\nCalificacin ms baja: " + minima() +
"\nCalificacin ms alta: " + maxima() + "\n";
// llamar al mtodo promedio para calcular el promedio de cada estudiante
for ( int contador = 0; contador < estudiantes; contador++ )
salida += "\nEl promedio del estudiante " + contador + " es " +
promedio( calificaciones[ contador ] ); // pasar fila arreglo calificaciones
// cambiar el tipo de letra a mostrar de areaSalida
areaSalida.setFont( new Font( "Monospaced", Font.PLAIN, 12 ) );
// colocar la cadena salida en areaSalida
areaSalida.setText( salida );
} // fin del mtodo init
// buscar calificacin mnima
public int minima()
{
// suponer que el primer elemento del arreglo calificaciones es el menor
int califBaja = calificaciones[ 0 ][ 0 ];
// iterar a travs de las filas del arreglo calificaciones
for ( int fila = 0; fila < estudiantes; fila++ )
// iterar a travs de las columnas de la fila actual

for ( int columna = 0; columna < examenes; columna++ )
// si la calificacion es menor que califBaja, asignarla a califBaja
if ( calificaciones[ fila ][ columna ] < califBaja )
califBaja = calificaciones[ fila ][ columna ];
return califBaja; // devolver la calificacin ms baja
} // fin del mtodo minima
// buscar calificacin mxima
public int maxima()
{
// suponer que el primer elemento del arreglo calificaciones es el mayor
int califAlta = calificaciones[ 0 ][ 0 ];
// iterar a travs de las filas del arreglo calificaciones
for ( int fila = 0; fila < estudiantes; fila++ )
// iterar a travs de las columnas de la fila actual
for ( int columna = 0; columna < examenes; columna++ )
// si la calificacin es mayor que califAlta, asignarla a califAlta
if ( calificaciones[ fila ][ columna ] > califAlta )
califAlta = calificaciones[ fila ][ columna ];
return califAlta; // devolver la calificacin ms alta
} // fin del mtodo maxima
// determinar la calificacin promedio para un estudiante (o conjunto de calif.)
public double promedio( int conjuntoDeCalificaciones[] )
{
int total = 0; // inicializar el total

// sumar calificaciones para un estudiante
for ( int cuenta = 0; cuenta < conjuntoDeCalificaciones.length; cuenta++ )
total += conjuntoDeCalificaciones[ cuenta ];
// devolver el promedio de calificaciones
return ( double ) total / conjuntoDeCalificaciones.length;
} // fin del mtodo promedio
// crear cadena de salida
public void crearCadena()
{
salida += " "; // se usa para alinear los encabezados de columnas
// crear encabezados de columnas
for ( int contador = 0; contador < examenes; contador++ )
salida += "[" + contador + "] ";
// crear filas/columnas de texto que representan el arreglo calificaciones
for ( int fila = 0; fila < estudiantes; fila++ ) {
salida += "\ncalificaciones[" + fila + "] ";
for ( int columna = 0; columna < examenes; columna++ )
salida += calificaciones[ fila ][ columna ] + " ";
}
} // fin del mtodo crearCadena
} // fin de la clase ArregloDoble

Das könnte Ihnen auch gefallen