SoloCodigo

Programación General => Java => Mensaje iniciado por: Iggy16 en Miércoles 10 de Noviembre de 2010, 17:04

Título: Clase Grupo
Publicado por: Iggy16 en Miércoles 10 de Noviembre de 2010, 17:04
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.  
Título: Re: Clase Grupo
Publicado por: m0skit0 en Miércoles 10 de Noviembre de 2010, 17:14
¿Y? ¿Alguna pregunta, duda, ruego, petición?  :P  ^_^
Título: Re: Clase Grupo
Publicado por: shadow_rev en Miércoles 10 de Noviembre de 2010, 22:53
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 (http://download.oracle.com/javase/6/docs/api/java/util/Date.html) y DateFormat (http://download.oracle.com/javase/6/docs/api/java/text/DateFormat.html). El resto lo haces como el buscar por nip.

:suerte:

PD: Como extraño los tiempos en que Sun existía......
Título: Re: Clase Grupo
Publicado por: LeGatoRojo en Jueves 11 de Noviembre de 2010, 00:05
¿Y luego?, ¿que paso con eso?