• Sábado 21 de Septiembre de 2024, 14:37

Autor Tema:  Clase Grupo  (Leído 1269 veces)

Iggy16

  • Nuevo Miembro
  • *
  • Mensajes: 14
    • Ver Perfil
Clase Grupo
« en: Miércoles 10 de Noviembre de 2010, 17:04 »
0
Métodos que me piden:

1. El método constructor: public Grupo(String laTitulacion, String elCentro, int elCodigo, Alumno[] elGrupo), que crea un objeto de la clase Grupo, permite definir los valores de todos sus atributos a partir de los valores de sus parámetros y devuelve la referencia al objeto creado. Ejemplo:             Grupo mañana = new Grupo("ESTUDIOS","CENTRO","GRUPO")

2.Los métodos public String estudios(), public String centro() y public int codigo() que al ser invocados devuelven el nombre de la titulacion, el centro donde se imparte y el codigo numerico del grupo.

3. El método public int numero() que al ser invocado devuelve el nº de alumnos matriculados.

4. El método public Alumno alumno (int i). SI consideramos que los alumnos estan numerados entre el 1 y N, N es el nº de alumnos matriculados en el grupo, una invocacion alumno(i) devuelve una referencia del objeto Alumno que tiene asignado el nº en el grupo.

5. El método public int contarNacidos (Fecha f1, Fecha f2), que al ser invocado devuelve el nº de alumnos por grupo cuya fecha de nacimiento esta comprendida entre [f1] y [f2], es decir, es igual o posterior a [f1] e igual o anterior a [f2].

6. El metodo public Alumno buscar (int nip) que busca en el listado de alumnos del grupo el NIP especificado como valor del parametro. Si no hay alumno con el NIP, devuelve null.

7.El metodo public Alumno buscar (Fecha f), que si la fecha de un alumno coincide con "f", devuelve una referencia al objeto Alumno que le corresponde. En caso contrario responde "null".

8. El metodo public void ordenarporNip() que al ser invocado reordena los objetos del listado de alumnos del grupo de forma que queden ordenador de menos a mayor valores del NIP.

9. El metodo public void ordenarPorEdad() que al ser invocado reordena los objetos del listado de alumnos del grupo de forma que queden ordenador empezando por los mas jovenes y acabando con los de mayor edad.
PD: El nip es un valor numérico de 6 cifras, tipo 123456.

Código: Java
  1. public class Grupo  {
  2.    
  3. private String unaTitulacion;
  4. private String unCentro;
  5. private int unCodigo;
  6. private Alumno[] listado;
  7.  
  8. public Grupo(String laTitulacion, String elCentro, int elCodigo, Alumno[] elGrupo) {
  9.     unaTitulacion=laTitulacion; unCentro=elCentro; unCodigo=elCodigo; listado=elGrupo;
  10. }
  11.  
  12. public String estudios() {
  13.     return unaTitulacion;
  14. }
  15.  
  16. public String centro() {
  17.     return unCentro;
  18. }
  19.  
  20. public int codigo() {
  21.     return unCodigo;
  22. }
  23.  
  24. public int numero() {
  25.     return listado.length;
  26. }
  27.  
  28. public Alumno alumno (int i) {
  29.     return listado[i];
  30. }
  31.  
  32. public int contarNacidos (Fecha f1, Fecha f2) {
  33.     // No se me ocurre nada
  34. }
  35.  
  36. public Alumno buscar (int nip) {
  37.     int indice=0;
  38.     while (listado[indice].nip()!=nip && indice<listado.length-1) indice++;
  39.     if(listado[indice].nip()==nip) return listado[indice];
  40.     else return null;
  41. }
  42.  
  43. public Alumno buscar (Fecha f) {
  44.     // Tampoco se me ocurre nada
  45. }
  46.  
  47. public void ordenarPorNip() {
  48.     for(int i=0; i<=listado.length-2;i++) {
  49.         int iMenor=i;
  50.         for(int j=i+1; j<=listado.length-1; j++)
  51.             if(listado[j].nip()<listado[iMenor].nip()) iMenor=j;
  52.         Alumno aux=listado[i];
  53.         listado[i]=listado[iMenor];listado[iMenor]=aux;
  54.     }
  55. }
  56. public void ordenarPorEdad() {
  57.     for(int i=0; i<=listado.length-2;i++) {
  58.         int iMenor=i;
  59.         for(int j=i+1; j<=listado.length-1; j++)
  60.             if(listado[j].nacimiento()<listado[iMenor].nacimiento()) iMenor=j;
  61.         Alumno aux=listado[i];
  62.         listado[i]=listado[iMenor];listado[iMenor]=aux;
  63.     }
  64. }
  65.  
  66. }
  67.  

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Clase Grupo
« Respuesta #1 en: Miércoles 10 de Noviembre de 2010, 17:14 »
0
¿Y? ¿Alguna pregunta, duda, ruego, petición?  :P  ^_^

shadow_rev

  • Miembro MUY activo
  • ***
  • Mensajes: 397
  • Nacionalidad: co
  • Un SPARTAN no muere en combate
    • Ver Perfil
    • http://shadowrev.blogspot.com
Re: Clase Grupo
« Respuesta #2 en: Miércoles 10 de Noviembre de 2010, 22:53 »
0
Por lo que puedo intuir (me uno a la protesta de M0s :P ), tu problema está en la clase Fecha. Sin saber como la implementaron, pues lo que te puedo recomendar es que utilices Date y DateFormat. El resto lo haces como el buscar por nip.

:suerte:

PD: Como extraño los tiempos en que Sun existía......
Volará quien le ponga alas a sus sueños (Candidate for goddess)
Si el mal existe en este mundo, reside en el corazón de la humanidad (Edward D. Morrison - Tales of Phantasia)
Lo único que puedes cambiar del pasado, es lo que sientes por él en el presente (Lockon Stratos - Mobile Suit Gundam 00)
Ingeniero de Sistemas

LeGatoRojo

  • Miembro HIPER activo
  • ****
  • Mensajes: 552
  • Nacionalidad: mx
    • Ver Perfil
    • LeGatoRojo
Re: Clase Grupo
« Respuesta #3 en: Jueves 11 de Noviembre de 2010, 00:05 »
0
¿Y luego?, ¿que paso con eso?
Un día desperte y en lugar de dientes tenía colmillos, en lugar de manos, tenía garras; pero lo más impactante fue el color escarlata de mi pelaje.