Вы находитесь на странице: 1из 9

AP7-AA7.

1-EV1-EJERCICIOS DE PROGRAMACIÓN CON ESTRUCTURAS DE DATOS


EN JAVA

INSTRUCTORA VOCERA LINA ROCIO RIVADENEIRA MUÑOZ

Alumno:ROMAN MAURICIO HERNANDEZ

ANALISIS DE SISTEMAS DE INFORMACION


SENA:2019

1
Elementos del lenguaje de programación y estructuras de datos en JAVA

1. En una competencia participan N atletas de los cuales es importante conocer su nombre,


nacionalidad y su tiempo. Desarrolle una aplicación que presente el siguiente menú:
Competencia
1. Registrar Atleta
2. Datos del campeón.
3. Atletas por país
4. Tiempo promedio de todos los atletas
5. Salir

Registrar Atleta: Debe solicitar el nombre, la nacionalidad y el tiempo del atleta Datos
Campeón: Muestra el nombre, la nacionalidad y el tiempo del atleta cuyo tiempo es el
menor de todos. Atletas por país: Solicita el nombre del país y muestra los nombres de
todos los atletas de ese país. Tiempo promedio de todos los atletas: Muestra el tiempo
promedio de los atletas registrados. Características de la aplicación: La aplicación debe
desarrollarse de manera orientada a objetos, incluyendo las clases Atleta, Competencia y
Principal. Debe emplear arreglos para su solución.

import javax.swing.JOptionPane;
public class Ejercicio1 {

public static void main(String[] args) {


//Declaracion de variables
String nombre[];
String nacionalidad[];
double tiempo[];
int totalAtletas;
double may=0;
String nombremin = null;
String nacionalidadmin = null;
String nacionalidadpais;
String nombreatletapais;
double sumTiempo=0;
double tiempoPromedio;
//Menu
JOptionPane.showMessageDialog(null, " Competencia \n" +
"1. Registrar Atleta \n" + "2. Datos del campeon \n" + "3. Atletas por pais \n" +
"4. Tiempo promedio de todos los atletas \n" + "5. Salir");

2
totalAtletas=Integer.parseInt(JOptionPane.showInputDialog(null, "Ingrese la
cantidad de Atletas "));
nombre=new String[totalAtletas];
nacionalidad=new String[totalAtletas];
tiempo=new double[totalAtletas];
//Registrar atletas
JOptionPane.showMessageDialog(null, "1. Registrar Atleta");
for(int i=0; i<totalAtletas; i++){
nombre[i]=JOptionPane.showInputDialog(null, "Ingrese el nombre del Atleta: ");
nacionalidad[i]=JOptionPane.showInputDialog(null, "Ingrese la nacionalidad del
Atleta: ");
tiempo[i]=Double.parseDouble(JOptionPane.showInputDialog(null, "Ingrese el
tiempo en minutos del Atleta: "));
sumTiempo=sumTiempo+tiempo[i];
}
//Datos campeon
JOptionPane.showMessageDialog(null, "2. Datos del campeon");
for (int i=0; i<totalAtletas; i++){
if (tiempo[i]>may){
may=tiempo[i];
nombremin=nombre[i];
nacionalidadmin=nacionalidad[i];
}
}
JOptionPane.showMessageDialog(null, "El nombre del atleta campeon es " +
nombremin + " de nacionalidad "
+ nacionalidadmin + " cuyo tiempo fue " + may);
//Atletas por pais
JOptionPane.showMessageDialog(null, "3. Atletas por pais");
nacionalidadpais=JOptionPane.showInputDialog(null, "Ingrese la nacionalidad para
mostrar los atletas de ese pais: ");
for (int i=0; i<totalAtletas; i++){
if (nacionalidadpais == null ? nacionalidad[i] == null :
nacionalidadpais.equals(nacionalidad[i])){
nombreatletapais=nombre[i];
JOptionPane.showMessageDialog(null, "El nombre de un atleta de nacionalidad
" + nacionalidadpais + " es "
+ nombreatletapais);
}
}
//Promedio del tiempo de los atletas
JOptionPane.showMessageDialog(null, "4. Tiempo promedio de todos los atletas");
tiempoPromedio=sumTiempo/totalAtletas;

3
JOptionPane.showMessageDialog(null, "El tiempo promedio de los atletas fue " +
tiempoPromedio);
JOptionPane.showMessageDialog(null, "5. Salir");
}

2. Desarrolle una aplicación utilizando colecciones, la cual permita tener las siguientes
funcionalidades:
• Insertar elementos (al inicio, al final). • Eliminar elementos. • Obtener el valor de una
posición determinada. • Asignar valor a una posición determinada. • Calcular la sumatoria
de los valores de todos los elementos. • Calcular el promedio de los valores de todos los
elementos. • Obtener el número de elementos. • Contar el número de valores igual a cero
(0). • Calcular la suma de los pares. • Contar el número de repeticiones dado un número. •
Modificar el valor de una posición por otro valor suministrado. • Cambiar todo el
contenido. • Invertir el arreglo. • Obtener el mayor valor. • Obtener el menor valor. •
Obtener los primeros n elementos del arreglo. • Obtener los últimos n elementos del
arreglo. • Indicar si es palíndromo. • Indicar si un número se encuentra dentro del arreglo.
• Mostrar el contenido del arreglo. Para conseguir el objetivo, se le suministra la clase
principal y la clase de prueba, tenga en cuenta los nombres de los métodos, argumentos y
tipos de datos para la codificación.

import java.util.*; // Importando Java util

public class MiColeccion { // Clase MiColeccion

ArrayList numeros = new ArrayList(); // Declaracion ArrayList numeros

public void insertarAlFinal(int valor) { // Metodo para insertar valores en numeros


numeros.add(valor);
}

public void insertarAlPrincipio(int valor) { // Metodo insertar al principio del ArrayList


numeros.add(0, valor);
}

public void mostrarContenido() { // metodo para mostrar el contenido de numeros


System.out.println(numeros);
}

public void agregarAlFinal(Object valor) {

4
numeros.add(valor);
}

public void eliminar(int valor) { // Metodo para eliminar elementos de numeros


numeros.remove(valor);
}

public void setValor(int posicion, int valor) { // Metodo para reemplazar valores en
numeros
numeros.add(posicion, valor);
}

int getValor(int valor) {

return (int) (numeros.get(valor)); // metodo para mostrar los elementos que contiene
numeros
}

int cuentaElementos() { // metodo para saber el tamaña del ArrayList


int valor = numeros.size();
return valor;
}

int getSumatoria() { // metodo para sumar los elementos del ArrayList

int suma = 0;

for (Object numero : numeros) {


suma = suma + (int) numero;

return suma;

double getPromedio() { // Metodo para conocer el promedio de los elementos del


ArrayList

int suma = 0;
double promedio = 0;

for (Object numero : numeros) {

5
suma = suma + (int) numero;

promedio = suma / numeros.size();

}
return promedio;

int cuentaCeros() { // metodo para contar los ceros dentro del ArrayList
int cantidad = 0;
for (Object numero : numeros) {
if ((int) numero == 0) {

cantidad = cantidad + 1;
}
}
return cantidad;

int sumaPares() { // Metodo para sumar los numeros pares dentro del ArrayList

int par = 0;
for (Object numero : numeros) {
if (((int) numero % 2) == 0) {

par = par + (int) numero;


}

}
return par;
}

int cuentaRepeticiones(int num) { // Metodo que cuenta el numero de veces que se


repite el numero 2 en el Array
int cuenta = 0;
for (Object numero : numeros) {
if ((int) numero == 2) {

cuenta = cuenta + 1;
}
}

6
return cuenta;

public void reemplazarValor(int antiguoValor, int nuevoValor) { // Metodo para


reemplazar un valor dentro del Array

numeros.set(antiguoValor, nuevoValor);

public void reemplazarTodo() { // Metodo para reemplazar todo el Array

numeros.clear();
numeros.add(9);
numeros.add(10);
numeros.add(11);
}

int getMayor ( ){ // Metodo para obtener el mayor numero dentro del Array

int mayor=0;

for (Object numero : numeros) {


if ((int)numero >= mayor) {

mayor=(int) numero;
}
}
return mayor;

int getMenor ( ){ // Metodo para obtener el menor numero dentro del Array

int menor=11;

for (Object numero : numeros) {


if ((int)numero <= menor) {

menor=(int) numero;
}
}

7
return menor;

boolean buscar (int numero){ // Metodo para buscar un numero dentro del Array.

return numeros.contains(numero);

public class TestMiColeccion {

public static void main(String[] args) {

System.out.println("Mi Coleccion 1");


MiColeccion mc1 = new MiColeccion();
mc1.insertarAlFinal(1);
mc1.insertarAlFinal(2);
mc1.insertarAlFinal(3);
mc1.insertarAlPrincipio(4);
mc1.mostrarContenido();
//ArrayList al=new ArrayList();
mc1.agregarAlFinal(9);
mc1.agregarAlFinal(10);
mc1.agregarAlFinal(11);
//mc1.agregarAlFinal(al);
mc1.mostrarContenido();
mc1.eliminar(0);
mc1.eliminar(5);
mc1.mostrarContenido();
mc1.setValor(0, 0);
mc1.setValor(6, 0);
mc1.mostrarContenido();
System.out.println("En la posicion 4 esta el " + mc1.getValor(4));
System.out.println("La sumatoria de sus elementos es: " + mc1.getSumatoria());
System.out.println("El promedio de sus elementos es: " + mc1.getPromedio());
System.out.println("En la coleccion hay " + mc1.cuentaElementos() + " elementos");
System.out.println("Y hay " + mc1.cuentaCeros() + " ceros");
System.out.println("La sumatoria de los pares es: " + mc1.sumaPares());

8
System.out.println("El numero 2 esta " + mc1.cuentaRepeticiones(2) + " veces");
mc1.reemplazarValor(0, 9);
mc1.mostrarContenido();
mc1.reemplazarTodo();
mc1.mostrarContenido();
System.out.println("El mayor elemento es: " + mc1.getMayor());
System.out.println("El menor elemento es: " + mc1.getMenor());
mc1.insertarAlFinal(1);
mc1.insertarAlFinal(2);
mc1.insertarAlFinal(3);
mc1.mostrarContenido();
System.out.println("Esta el 3 en la lista? "+mc1.buscar(3));

Вам также может понравиться