You are on page 1of 13

Ejercicios de Programación con Estructuras de Datos en Java

Margarita Rosa Llantén

Análisis y Desarrollo de Sistemas de Información


SENA

2019
Ejercicios de Programación con 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ú:

• Registrar Atleta: Debe solicitar el nombre, la nacionalidad y el tempo del atleta


• Datos Campeón: Muestra el nombre, la nacionalidad y el tempo 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.JOptonPane;

public class EjercicioUno {


public statc void main(String[] args) {
//Declaración de variables
String nombre[]; String
nacionalidad[]; double
tempo[];
int totalAtletas;
double may=0;
String nombremin=null;
String nacionalidadmin = null;
String nacionalidadpais;
String nombreatletapais;
double sumTiempo=0;
double tempoPromedio;
//Menu
JOptonPane.showMessageDialog(null, "competencia\n"+"1. registrar Atleta\n"+"2. Datos
del campeon\n"+"3. Atletas por pais\n"
+"4. Tiempo pormedio de todos los atletas\n"+"5. Salir");
totalAtletas = Integer.parseInt(JOptonPane.showInputDialog(null,"Ingrese la
cantdad de atletas"));
nombre=new String[totalAtletas];
nacionalidad=new String[totalAtletas];
tempo=new double[totalAtletas];
//Registrar Atletas
JOptonPane.showMessageDialog(null,"1. Registrar Atleta");
for(int i=0; i<totalAtletas; i++){ nombre[1]=JOptonPane.showInputDialog(null,"ingrese el
nombre del atleta:"); nacionalidad[i]=JOptonPane.showInputDialog(null, "ingrese la
nacionalidad del
atleta:");
tempo[i]=Double.parseDouble(JOptonPane.showInputDialog(null, "Ingrese el
tempo en minutos del atleta:"));
sumTiempo=sumTiempo+tempo[i];
}
//Datos Campeon
JOptonPane.showMessageDialog(null, "2. Datos del campeon");
for (int i=0; i<totalAtletas; i++){
if (tempo[i]>may){
may=tempo[i];
nombremin=nombre[i];
nacionalidadmin=nacionalidad[i];
}
}
JOptonPane.showMessageDialog(null,"El nombre del atleta campeon
es"+nombremin + "de nacionalidad"+nacionalidadmin+"cuyo timepo fue"+may);
//Atletas por pais
JOptonPane.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];
JOptonPane.showMessageDialog(null, "El nombre de un atleta de
nacionalidad"+nacionalidadpais+"es"+nombreatletapais);
}
}
//Promedio del tempo de los atletas
JOptonPane.showMessageDialog(null,"4. Tiempo promedio de todos los atletas");
tempoPromedio=sumTiempo/totalAtletas; JOptonPane.showMessageDialog(null,"El
tmepo promedio de los atletas fue"+tempoPromedio);
JOptonPane.showMessageDialog(null,"5. Salir");
}
}

2. Desarrolle una aplicación utlizando 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 repetciones 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 últmos n elementos del arreglo.
• Indicar si es palíndromo.
• Indicar si un número se encuentra dentro del arreglo.
• Mostrar el contenido del arreglo.

package ejerciciodos;

import java.utl.*;
public class EjercicioDos {

ArrayList numeros = new ArrayList();

public void insertarAlFinal(int valor) {


}
public void insertarAlPrincipio(int valor){
numeros.add(valor);

}
public void insertarAlPrincipio(int valor){
numeros.add(0, valor);
}
public void mostrarContenido()
{ System.out.println(numeros);
}
public void agregarAlFinal(Object valor){
numeros.add(valor);
}
public void eliminar(int valor){
numeros.remove(valor);
}
public void setValor(int posicion, int valor){
numeros.add(posicion, valor);
}
int getValor(int valor){

return (int)(numeros.get(valor));
}
int cuentaElementos(){
int valor=numeros.size();
return valor;
}
int getSumatoria(){
int suma=0;
for(Object numero : numeros){
suma = suma + (int) numero;

}
double getPromedio(){
return suma;

}
double getPromedio(){
int suma=0;
double promedio=0;

for(Object numero : numeros){


suma = suma+(int) numero;

promedio=suma/numeros.size();
}
return promedio;
}
int cuentaCeros(){
int cantdad=0;
for(Object numero:numeros){
if((int)numero==0){
cantdad=cantdad+1;
}
}
return cantidad;
}
int sumaPares(){
int par=0;
for (Object numero:numeros){
if(((int)numero%2)==0){
par=par+(int)numero;
}
}
return par;
}
int cuentaRepetciones(int num){

for(Object numero:numeros){
int cuenta=0;

for(Object numero:numeros){
if((int)numero==2){
cuenta=cuenta+1;
}
}
return cuenta;
}
public void reemplazarValor(int antguoValor, int nuevoValor){
numeros.set(antguoValor, nuevoValor);
}
public void reemplazarTodo(){
numeros.clear();
numeros.add(9);
numeros.add(10);
numeros.add(11);
}
int getMayor(){
int mayor=0;
for(Object numero:numeros){
if((int)numero>=mayor){
mayor=(int)numero;
}
}
return mayor;
}
int getMenor(){
int menor=11;

for(Object numero:numeros){
if((int)numero<=menor){
menor=(int)numero;
}
}
return menor;
}
boolean buscar(int numero){
return numeros.contains(numero);
}
}

public class TestMiColeccion{

public statc void main(String[]args)

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


MiColeccion mc1=new MiColeccion();
mc1.insertarAlFinal(1);
mc1.insertarAlFinal(2);
mc1.insertatAlFinal(3);
mc1.insertatAlPrincipio(4);
mc1.mostrarContenido();
mc1.agregarAlFinal(9);
mc1.agregarAlFinal(10);
mc1.agregarAlFinal(11);
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 ests 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"+mc.cuentaCeros()+"ceros");
System.out.println("la sumatoria de los pares es"+mc1.sumaPares());
System.out.println("El numero 2 esta"+mc1.cuentaRepetciones(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 mayor 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));
}
}

You might also like