Vous êtes sur la page 1sur 4

ArreglosJavaArrays /ArreglosColecciones.

java

/ *
* Autor: Camilo Figueroa (Crivera) Agosto de 2016
* Para cambiar este encabezado de licencia, elija los encabezados de licencia en
Propiedades del proyecto.
* Para cambiar este archivo de plantilla, seleccione Herramientas | Plantillas
* y abrir la plantilla en el editor.
*
* Material de consulta que ayudó al desarrollo del ejercicio.
* https://www.youtube.com/watch?v=Z4k582CoCvs
* http://stackoverflow.com/questions/5364278/creating-an-array-of-objects-in-
java
* http://jarroba.com/arraylist-en-java-ejemplos/
* /
// El paquete viene por defecto y depende de la organización de las carpetas.
paquete de arregloscolecciones ;
/ * Muy importante, hay que importar las clases que servirán al programa.
Son algo así como librerías, módulos, en general ... operaciones de Java. * /
importar java.io.BufferedReader ;
import java.io.IOException ;
importar java.io.InputStreamReader ;
import javax.swing.JOptionPane ;
import java.util.ArrayList ; // Esta es la clase para las colecciones.
/ **
*
* @Author SATÉLITE
* /
clase pública ArreglosColecciones {

Menú estático público gMenu = nuevo Menú ();


Mensajes estáticos públicos gMensajes = nuevos Mensajes ();
int estático privado gMaxIndiceAtleta = 0 ;
ArrayList estática pública < Atleta > gListaAtletas = new ArrayList <
Atleta > ();
Atleta estática pública Atleta ;
Cadena estática pública gIdioma = " " ;

/ **
* @param args los argumentos de línea de comando
* /
public static void main ( String [] args ) {

int opcionEscogida = 0 ;

gIdioma = JOptionPane . showInputDialog ( null , " Ingrese idioma 'espa'


o 'engl' - escribe el idioma 'espa' o 'engl' " );

gMenu . gIdioma = gIdioma; // Esto propaga el idioma también al menú.


gMenu . gMensajes . asignarMensajes (); // También se puede llamar a una
función de una clase dentro de otra.
gMensajes . asignarMensajes (); // Se cargan todos los mensajes para esta
clase.
echo (gMensajes . mostrarMensaje (gIdioma, 0 )); // Se muestra el primer
mensaje de todos. Comprueba el idioma.
mientras (opcionEscogida ! = 5 )
{
interruptor (opcionEscogida)
{
caso 1 : // Registrar atleta.
gAtleta = nueva Atleta (); // Se crea una nueva clase,
las otras están en el vector.
gtleta . gIdioma = gIdioma;
gtleta . gMensajes . asignarMensajes ();
gtleta . registrarAtleta (); // Se piden los datos del
atleta antes de almacenarlo en el arrayList.
gListaAtletas . añadir (gAtleta); // Agrego el atleta a
la lista.
gMaxIndiceAtleta = gListaAtletas . tamaño(); // Pido el
tamaño de la lista, supe-importante.
echo (gMensajes . mostrarMensaje (gIdioma, 1 ) +
gMaxIndiceAtleta);
romper ;
Caso 2 : // Datos del campeón.
echo (gMensajes . mostrarMensaje (gIdioma, 2 ) +
retornarDatosCampeon ());
romper ;
Caso 3 : // Atletas por país.
imprimirAtletaPorPais ();
romper ;
Caso 4 : // Tiempo promedio de todos los atletas.
echo (gMensajes . mostrarMensaje (gIdioma, 3 ) +
gMaxIndiceAtleta + gMensajes . mostrarMensaje (gIdioma, 4 ) +
retornarPromedioAtletas ());
romper ;
por defecto :
romper ;
}

// Aquí se muestra el menú para seleccionar la opción.


opcionEscogida = gMenu . mostrarMenu ();
}
}

/ **
* Imprime los atletas solicitando un pais.
* /
vacío estático público imprimirAtletaPorPais ()
{
Cadena pais = " " ;
int i = 0 ;

pais = JOptionPane . showInputDialog ( null , gMensajes . mostrarMensaje


(gIdioma, 5 ));
// System.out.println ("El pais a buscar será" + pais);

para (i = 0 ; i < gMaxIndiceAtleta; i ++ )


{
// echo ("Buscando en" + gListaAtletas.get (i) .gNacionalidad);
if (pais . match (gListaAtletas . get (i) . gNacionalidad) == true )
echo (gListaAtletas . get (i) . retornarDatosAtleta ());
}
}
/ **
* Retorna el promedio de todos los tiempos de los atletas.
* @return
* /
públicas estáticas dobles retornarPromedioAtletas ()
{
suma doble = 0 ;
int i = 0 ;
para (i = 0 ; i < gMaxIndiceAtleta; i ++ )
{
suma + = gListaAtletas . obtener (i) . retornarTiempoAtleta ();
}
devolver suma / (gMaxIndiceAtleta);
}
/ **
* Retorna el campeon por tiempo.
* @return
* /
Cadena estática pública retornarDatosCampeon ()
{
String respuesta = " " ;
int i = 0 ;
int indiceMejor = 0 ;
// No se va a buscar el mejor y por lo menos no hay dos atletas.
if (gMaxIndiceAtleta > 1 )
{
para (i = 0 ; i < gMaxIndiceAtleta; i ++ )
{
// El atleta con el menor tiempo es el mejor.
if (gListaAtletas . get (i) . retornarTiempoAtleta () <
gListaAtletas . get (indiceMejor) . retornarTiempoAtleta ())
{
indiceMejor = i;
}

// echo (indiceMejor + "Mejor hasta el momento:" +


gArregloAtletas [indiceMejor] .retornarDatosAtleta ());
}
}
volver gListaAtletas . obtener (indiceMejor) . retornarDatosAtleta ();
}

/ **
* Solo para simular la función echo del php.
* /
eco estático público vacío ( Cadena cad )
{
Sistema . a cabo . println (cad);
}
}

Vous aimerez peut-être aussi