Java - Entre alumnos anda el juego

 
Vista:

Entre alumnos anda el juego

Publicado por alumno (1 intervención) el 13/11/2002 05:16:38
Mi problema es el siguiente:
Quiero crear una clase aula con dos atributos,un vector de alumnos y un contador de cuantos hay "total".
Como metodos:creacion de alumnos,buscar alumno,borrar alumnoy añadir un solo alumno despues del ultimo en el vector.
Si conseguis hacermelo.....Dios os lo premiara...y si no ...tambien.Gracias anticipadas por el aprobado que me van a dar por vuestra ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Entre alumnos anda el juego

Publicado por gabriel (38 intervenciones) el 13/11/2002 08:40:15
Bueno haber a mi siempre me dijeron que la mejor manera de aprender era practicando y me parece que es verdad asi que no te lo voy a mandar todo echo, ademas que si quiero va a ser un poco dificil porque hay varias cosas que no estan del todo claras. Pero igual esta casi echo, y cualquier cosa que no te salga pregunta y con todo gusto respondo y te doy la solucion, siempre que pueda por supuesto.

public class Alumno {

public Alumno(String nom, String ape) {
this.nombre=nom;
this.apellido=ape;
}

/********************** Declaracion de variables ***************/
public String nombre;
public String apellido;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Entre alumnos anda el juego2

Publicado por gabriel (38 intervenciones) el 13/11/2002 08:40:46
import java.util.*;

public class Aula {
/*
* Cunstroctur que en caso que la creacion de alumnos sea
* de objetos alumnos y no del vector tendrias que inicializar
* el vector aca
*/
public Aula() {
this.alumnos=new Vector();
}

/*
* no tengo claro si esto es la creacion de alumnos
* porque podria estar en el constructor y evitarte
* el error de olvidartelo
*/
public void creacionAlumnos(){
this.alumnos=new Vector();
}
/* otra opcion es que la creacion de alumnos que queres es
* que cree y devuelva un alumno nuevo, no se, no lo dejaste claro
*/
public Alumno creacionAlumnos(String nombre, String apellido){
return new Alumno(nombre, apellido);
}


/*
* no se si lo queres buscar con el objeto alumnos o por
* nombre o como, asi que lo podes implementar vos :)
* viene bien practicar para aprender
*/
public Alumno buscarAlumno(String nombre, String apellido){
/*
* como es un vector podria ser un for buscando
* hasta i < this.alumnos.size()
* Alumno alum=(Alumno)this.alumnos.get(i);
* nombre.compareTo(alumn.nombre);
* y si eso se cumple preguntas tambien por appellido
* y ahi tenes tu alumno si no esta devolves null y
* chequeas del otro lado que no sea null para ver
* si lo encontro
*/
}

/*
* bueno devuelta no se que le queres pasar como parametro
* porque no se que tenes. Puede ser el alumno o el nombre y apellido
* o el lugar donde esta con lo cual ya solo harias un remove
*/
public void borrarAlumno(String nombre, String apellido){
int pos=posAlumno();
/*
* ya sabes buscar si llegaste hasta aca incluso de una
* manera mucho mejor que la de arriba solo que esta vez
* devolves la posicion donde esta el alumno a eliminar pos
*/
this.alumnos.remove(pos);
}

/*
* El tema ya conocido :) que le queres pasar como parametro
* para seguir como hasta ahora nombre y apellido siempre
* que no se repitan porque sino necesitas algun dato mas
*/
public void agregarAlumno(String nombre, String apellido){
Alumno alum=new Alumno(nombre, apellido);
this.alumnos.add(alum);
}

/*
* Ah y casi me olvido el total de alumnos
*/
public int total(){
return this.alumnos.size();
}

/********************* Declaracion de variables ***************/
private Vector alumnos;
private int total;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Entre alumnos anda el juego2

Publicado por Marcos (4 intervenciones) el 16/11/2002 09:29:09
Impecable la solucion de gabriel y bien en eso de no darte todo hecho asi aprendes vos haciendo las cosas.

Logicamente que no conozco muy bien lo que estas modelando, pero una sugerencia que gabriel plantea como alternativa que seria muy buena que usaras es el que tomes a "Alumno" como una entidad y lo representes haciendo una clase Alumno en si.

Esto no solo te permite ser mas escalable sino que ademas en efectos practicos podrias por ejemplo implemental el comparable en Alumno lo que te permitiria por ejemplo:

*ordenar los alumnos como vos lo quieras (por nombre por ejemplo)
*redefinir el isEqual() de Alumno para que el vector pueda hacer las busquedas de manera automatica (va de la mano con el comparable y comparator)
*gran etc (este ejemplo de alumno muestra muy bien como poder usar algunos conceptos de POO).

En resumen, si vas a usar POO aprovecha todas sus ventajas.

Cualquier pifia sepan disculpar pero son las 5.06 am :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar