










Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Asignatura: Programacion, Profesor: Marilina Rivero, Carrera: Ingeniería Técnica en Telecomunicación Especialidad Telemática., Universidad: UJAEN
Tipo: Ejercicios
1 / 18
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!











*@param edad edad del Nadador */ public Nadador(String nombre,int numIdentificativo,int edad){ this.nombre=nombre; this.numIdentificativo=numIdentificativo; this.edad=edad; marcas=new double[8]; if (edad<11&&edad>8){ categoria="Benjamin"; } if (edad<13&&edad>10){ categoria="Alevin"; } if (edad<15&&edad>12){ categoria="Infantil"; } if (edad<18&&edad>14){ categoria="Junior"; } if (edad>=18){ categoria="Absoluto"; } if (edad<9){ categoria="Es muy joven para competir"; }
public double marcas(int prueba){ return marcas[prueba]; } public String DNI(){ return DNI; } public void modDNI(String nuevodni){ DNI=nuevodni; } public String telefono(){ return telefono; } public void modTelefono(String nuevotelefono){ telefono=nuevotelefono; } public int anionacimiento(){ anionacimiento=2008-edad; return anionacimiento; } public String nombre(){ return nombre; } public void modNombre(String nuevonombre){ nombre=nuevonombre; } public String categoria(){ return categoria; } public void modCategoria(String nuevacategoria){ categoria=nuevacategoria;
salida = salida + "marca de la prueba 50m mariposa :"+marcas[prueba]+"\r\n"; } if(prueba==4){ salida = salida + "marca de la prueba 100m libres :"+marcas[prueba]+"\r\n"; } if(prueba==5){ salida = salida + "marca de la prueba 100m espalda :"+marcas[prueba]+"\r\n"; } if(prueba==6){ salida = salida + "marca de la prueba 100m braza :"+marcas[prueba]+"\r\n"; } if(prueba==7){ salida = salida + "marca de la prueba 100m mariposa :"+marcas[prueba]+"\r\n"; } // salida = salida + "marca de la prueba numero "+prueba+": "+marcas[prueba]+"\r\n"; } return salida; } public String toString () { return toStringCompleto(); } public void marcas(int prueba,double nuevamarca){ marcas[prueba] = nuevamarca; } } ClubNatacion.java import ccj.; public class ClubNatacion{ private String nombre; private int pos=0; private int num=0; private int NNadadores=5; private Nadador nadadores[]; /* *Constructor con 1 argumentos, en el cual creo el array y lo relleno de nulls para marcar que todo esta disponible *@param nombre nombre del nadador */ public ClubNatacion(String nombre){
int i; this.nombre=nombre; nadadores = new Nadador [NNadadores]; for (i=0; i<NNadadores; i++) { nadadores[i]=null; } } // Constructor con 2 argumentos /** *Constructor con 2 argumentos, en el cual creo el array y lo relleno de nulls para marcar que todo esta disponible *@param nombre nombre del nadador *@param nNada, numero de nadadores en el array */ public ClubNatacion(String n,int nNada){ int i; nombre=n; nNada=NNadadores; nadadores = new Nadador [NNadadores]; for (i=0; i<NNadadores; i++) { nadadores[i]=null; } } public int altaNadador(String nombre,int edad){ // Incrementamos la posicion donde podria guardarse el proximo elemento nadadores[pos++] = new Nadador(nombre,++num,edad); // Busco el siguiente elemento libre (null) for (; pos<nadadores.length && nadadores[pos] != null; pos++); // Si hemos llegado al final del array sin encontrar ningun elemento libre hacemos mas espacio if (pos == nadadores.length){ int i; // Agrandar el array Nadador aux[] = new Nadador[NNadadores + 5]; System.arraycopy(nadadores, 0, aux, 0, NNadadores); NNadadores += 5; // Lleno el resto de nulls for (i = pos; i < aux.length; i++){ aux[i] = null; } nadadores = aux; } return num; }
public int posicionNadador(int numIdentificativo){ int i; for (i=0;i<nadadores.length;i++){ if (nadadores[i]!=null){ if (numIdentificativo==nadadores[i].numIdentificativo()){ return i; } } } return -1; } public int posicionNadador(String nombre){ int i; for (i=0;i<nadadores.length;i++){ if (nadadores[i]!=null){ //if (nombre.equals(nadadores[i].nombre())){ if (nombre.equals (nadadores[i].nombre())) { return i; } } } return -1; } public String toString(){ String salida; int i; salida = "Listado de nadadores:\r\n"; for (i=0; i<NNadadores; i++) { if (nadadores[i] != null) { salida+=nadadores[i].toStringParcial(); } } return salida; } public Nadador obtenerNadador (int pos) { return nadadores[pos]; } public String listarPruebaCategoria(int prueba,String categoria){ int i; String salida="";
for(i=0;i<NNadadores;i++){ if (nadadores[i] != null) { if (categoria.equals (nadadores[i].categoria())){ salida += "La marca del nadador "+ nadadores[i].nombre() + " es: " + nadadores[i].marcas(prueba)+"\r\n"; } } } if (salida.length()==0) { System.out.println("No hay ningun registro en esta categoria"); } salida = "Categoria: "+categoria+"\r\n"+salida; return salida; } } Main.java import ccj.*; public class main{ public static void cargarDatos(ClubNatacion piscina){ String nombre,categoria; int numIdentificativo,edad; System.out.println("\nINTRODUCCION DE NADADORES INICIALES:\n=================================="); do { System.out.print("Nombre del Nadador (ENTER para finalizar):\n "); nombre=Console.in.readLine(); if (!nombre.equals("")){ System.out.println("Introduce la edad : "); edad=Console.in.readInt(); Console.in.readLine(); if(edad<9){ System.out.println("No tiene edad para competir"); }
do{ System.out.println("\nBusqueda de un nadador :\n"); System.out.println("1.- Busca un nadador por su numero identificativo"); System.out.println("2.- Busca un nadador por su nombre"); System.out.println("3.- Salir al menu principal"); opcionaux=Console.in.readInt(); Console.in.readLine(); switch(opcionaux){ case 1: int p; System.out.println("Introduce el numero identificativo"); numIdentificativo=Console.in.readInt(); Console.in.readLine(); p = piscina.posicionNadador(numIdentificativo); System.out.println("valor de p" +p); if (p==-1){ System.out.println("No hay ningun nadador con ese numIdentificativo"); } else{System.out.println("Marcas :"+piscina.obtenerNadador(p).toStringParcial()); } break; case 2: System.out.println("Introduce el nombre : "); nombre=Console.in.readLine(); p = piscina.posicionNadador(nombre); if(p==-1){ System.out.println("No hay ningun nadador con ese nombre"); } else{System.out.println("Marcas :"+piscina.obtenerNadador(p).toStringParcial()); } break; case 3: break; default : System.out.println("No ha introducido una opcion valida"); } }while(opcionaux!=3); break;
case 3: String categoria; // listarPruebaCategoria(int prueba,String categoria); System.out.println("Introduce la categoria que quieres consultar "); categoria=Console.in.readLine(); System.out.println("\n*** Pruebas "); System.out.println("\n\n0.-50m libres"); System.out.println("1.-50m espalda"); System.out.println("2.-50m braza"); System.out.println("3.-50m mariposa"); System.out.println("4.-100m libres"); System.out.println("5.-100m espalda"); System.out.println("6.-100m braza"); System.out.println("7.-100m mariposa\n"); System.out.println("Introduce la prueba quieres consultar"); prueba=Console.in.readInt(); Console.in.readLine(); System.out.println (piscina.listarPruebaCategoria(prueba,categoria)); break; case 4: int p; System.out.println("Consulta de Marcas*"); System.out.println("1.- Para Consultar las marcas introduciendo un nombre"); System.out.println("2.- Para Consultar las marcas introduciendo un numero identificativo :"); System.out.println("3.- Salida al menu principal "); opc=Console.in.readInt(); Console.in.readLine(); switch (opc){ case 1: System.out.println("Introduce nombre "); nombre=Console.in.readLine(); p = piscina.posicionNadador(nombre); if(p==-1){ System.out.println("Ese nadador no existe"); } else{System.out.println("Marcas :"+piscina.obtenerNadador(p).toStringCompleto()); } break; case 2: System.out.println("Introduce numero identificativo "); numIdentificativo=Console.in.readInt(); p = piscina.posicionNadador(numIdentificativo); if(p==-1){ System.out.println("Ese nadador no existe");
System.out.println("Pulsa 1 si quieres modificar su DNI"); System.out.println("Pulsa 2 si quieres modificar su nombre"); System.out.println("Pulsa 3 si quieres modificar su direccion"); System.out.println("Pulsa 4 si quieres modificar su telefono"); System.out.println("Pulsa 5 si quieres modificar su edad"); System.out.println("Pulsa 7 si quieres modificar su categoria"); System.out.println("Pulsa 6 si quieres modificar sus marcas"); System.out.println("Pulsa 0 para salir"); opcionauxx=Console.in.readInt(); Console.in.readLine(); switch(opcionauxx){ case 1: System.out.println("Introduzca nuevo DNI"); String DNI=Console.in.readLine(); nadador.modDNI(DNI); break; case 2: System.out.println("Introduzca nuevo nombre"); nombre=Console.in.readLine(); nadador.modNombre(nombre); break; case 3: System.out.println("Introduzca nueva direccion"); String direccion=Console.in.readLine(); nadador.modDireccion(direccion); break; case 4: System.out.println("Introduzca nuevo telefono"); String telefono=Console.in.readLine(); Console.in.readLine(); nadador.modTelefono(telefono); break; case 5: System.out.println("Introduzca nueva edad"); edad=Console.in.readInt(); Console.in.readLine(); nadador.modEdad(edad); break; case 6: System.out.println("Introduzca nueva Categoria"); categoria=Console.in.readLine(); nadador.modCategoria(categoria); break; case 7:
do{ System.out.println("Pulse 1 si desea modificar marca 50m libres"); System.out.println("Pulse 2 si desea modificar marca 50m espalda"); System.out.println("Pulse 3 si desea modificar marca 50m braza"); System.out.println("Pulse 4 si desea modificar marca 50m mariposa"); System.out.println("Pulse 5 si desea modificar marca 100m libres"); System.out.println("Pulse 6 si desea modificar marca 100m espalda"); System.out.println("Pulse 7 si desea modificar marca 100m braza"); System.out.println("Pulse 8 si desea modificar marca 100m mariposa"); prueba=Console.in.readInt(); Console.in.readLine(); prueba=prueba-1; System.out.println("Introduce nueva marca"); marca=Console.in.readDouble(); Console.in.readLine(); if(opcionaux==1){ piscina.modMarca(nu,marca,prueba); break; } if (opcionaux==2){ piscina.modMarca(no,marca,prueba); break; } }while(opcionaux!=0); break; } }while(opcionauxx!=0); break; } } while(opcionaux!=3); break; case 7 : System.out.println("Introduce el numero identificativo:"); numIdentificativo=Console.in.readInt(); piscina.bajaNadador(numIdentificativo); break;