Sie sind auf Seite 1von 4

package ejercicio1;

/**
*
* @author
*/
import javax.swing.JOptionPane;
public final class Principal {
String nAtletas;
int cantAtletas;
int contAtleta = 0, atletaNo = 1; //variable llevar control atletas ingresad
os
Atleta atleta[];
Competencia competencia[] = new Competencia[cantAtletas];
double tPromedio;
double sumaT;
String aXNa;
double menorT;
public Principal() { //constructor de la clase Principal
String ax;
int op = 0;
do {
ax = JOptionPane.showInputDialog(null, "** COMPENTENCIA **\n\n" + "1
. Registrar Atleta\n"
+ "2. Datos del campen\n"
+ "3. Atletas por pas\n"
+ "4. Tiempo promedio de todos los atletas\n"
+ "5. Salir\n\n" + "Ingrese opcin:");
try // Evaluar conversion
{
op = Integer.parseInt(ax);
// Convertir para guardar en variable entero *
} catch (NumberFormatException ex) // Evaluar por si se introduce un
numero*
{
JOptionPane.showMessageDialog(null, "*** Solo se permiten numero
s del 1 al 5 ***");
// Mensaje por si se oprime una letra
op = 0;
}
switch (op) {
case 0:
break;
case 1:
ingresarAtleta(); // llamar metodo ingresarAtleta
break;
case 2:
atletaCampeon(); // llamar metodo datosCampeon
break;
case 3:
xNacionalidad(); // llamar metodo xNacionalidad
break;
case 4:
tPromedio(); // llamar metodo tPromedio
break;
case 5:
JOptionPane.showMessageDialog(null, "Hasta luego... "); // m
ensaje al salir del programa
break;
default:
JOptionPane.showMessageDialog(null, "****** Opcin invalida **
****\n***** Intenta de nuevo! *****");
// Mensaje por si se oprime un numero que no este dentro de las
opciones del menu
}
} while (op != 5);
} // termina clase Principal
public void ingresarAtleta() { // creacin de metodo ingresarAtleta
String nombre, nacionalidad;
Double tiempo;
this.nAtletas = JOptionPane.showInputDialog(null, "Digite la cantidad de
Atletas: ");
try {
cantAtletas = Integer.parseInt(nAtletas);
} catch (NumberFormatException ex) {
JOptionPane.showMessageDialog(null, "*** Solo se permiten numeros **
*");
// Mensaje por si se digita un numero *
cantAtletas = 0;
}
atleta = new Atleta[cantAtletas]; //creando el arreglo de objetos (clase
Atleta)
for (int i = 0; i < cantAtletas; i++) {
nombre = JOptionPane.showInputDialog(null, "Ingrese el nombre del At
leta " + (i + 1) + " de "+ cantAtletas + ":");
while (!nombre.matches("^[A-Za-z ]*$")) { // comprobar letras
nombre = JOptionPane.showInputDialog(null, "Caracter Invalido!!!
\n" + "Ingrese el nombre del Atleta " + (i + 1) + " de "+ cantAtletas + ":"); //
mensaje por si se oprime un numero
}
nacionalidad = JOptionPane.showInputDialog(null, "Ingrese la naciona
lidad del Atleta " + (i + 1) + " de "+ cantAtletas + ":");
while (!nacionalidad.matches("^[A-Za-z ]*$")) { // comprobar letras
nacionalidad = JOptionPane.showInputDialog(null, "Caracter Inval
ido!!!\n" + "Ingrese la nacionalidad del Atleta " + (i + 1) + " de "+ cantAtleta
s + ":"); // mensaje por si se oprime un numero
}
tiempo = Double.parseDouble(JOptionPane.showInputDialog(null, "Ingre
se el tiempo del Atleta " + (i + 1) + " de "+ cantAtletas + ":"));
Atleta temp = new Atleta();
temp.setAtletaNo(atletaNo);
temp.setNombre(nombre);
temp.setNacionalidad(nacionalidad);
temp.setTiempo(tiempo);
atleta[contAtleta] = temp;
contAtleta++;
atletaNo++;
sumaT = sumaT + temp.getTiempo();
menorT = temp.getTiempo();
}
} // termina metodo ingresarAtleta
public void atletaCampeon() { // creacin de metodo datosCampeon
double menor = 0;
double a;
int n = contAtleta, i;
for (i = 0; i < n; i++) {
a = atleta[i].getTiempo();
if (i == 0) {
menor = a;
} else {
if (a < menor) {
menor = a;
}
if (!!atleta[i].getTiempo().equals(menor)) {
JOptionPane.showMessageDialog(null, "El Atleta campen es: "
+ "\n\nNombre: " + atleta[i].getNombre() + "\n"
+ "Nacionalidad: " + atleta[i].getNacionalidad() + "
\n"
+ "Con un tiempo de: "
+ menor + "\n\n");
}
}
}
}//termina metodo datosCampeon
public void xNacionalidad() { // creacin metodo xNacionalidad - mostrar atlet
as por nacionalidad
aXNa = JOptionPane.showInputDialog(null, "Digite la nacionalidad: ");
while (!aXNa.matches("^[A-Za-z ]*$")) { // comprobar letras
aXNa = JOptionPane.showInputDialog(null, "Caracter Invalido!!!\n" +
"Digite la nacionalidad: "); // mensaje por si se oprime un numero
}
for (int i = 0; i < contAtleta; i++) {
if (atleta[i].getNacionalidad().equalsIgnoreCase(aXNa)) {
JOptionPane.showMessageDialog(null, "Los atletas de " + aXNa + "
son: " + "\n\nNombre: " + atleta[i].getNombre() + "\n"
+ "Nacionalidad: " + atleta[i].getNacionalidad() + "\n"
+ "Tiempo: " + atleta[i].getTiempo() + "\n\n");
}
}
} //termina metodo xNacionalidad
public void tPromedio() { // creacin metodo tPromedio - Tiempo promedio de to
dos los atletas
tPromedio = sumaT / contAtleta;
JOptionPane.showMessageDialog(null, "El tiempo promedio de los atletas e
s: " + tPromedio);
} // termina metodo tPromedio - tiempo promedio de todos los atletas
public static void main(String[] args) {
Principal p = new Principal(); //creacion del objeto p, llamado al const
ructor de la clase Principal
System.exit(0);
} //termina main
}

Das könnte Ihnen auch gefallen