Java - Ayuda Colecciones en java

 
Vista:
Imágen de perfil de vanessa

Ayuda Colecciones en java

Publicado por vanessa (2 intervenciones) el 20/02/2014 18:51:28
Hola comunidad de la web del programador, es que tengo que hacer este ejercicio con colecciones en java y no se con que colección hacerlo y como plantear la lógica a ver si me podrían echar una mano. Estaría muy agradecida.

Crear un programa que ingrese lo datos de todos los estudiantes de una Universidad como nombres, apellidos, facultad, cumpleaños, que busque por cédula o código o nombres o apellidos y permita crear relaciones entre los estudiantes como compañeros de clase, familiares, proximidad geográfica.
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

Ayuda Colecciones en java

Publicado por Carlos (35 intervenciones) el 21/02/2014 00:38:57
Puedes hacerlo con ArrayList, pero es usando clases o con arraylist paralelos?

Escribir a: [email protected]

Saludos.
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
Imágen de perfil de Francisco Gracia

¡Ayuda! Colecciones en java

Publicado por Francisco Gracia (4 intervenciones) el 21/02/2014 16:17:39
Falta información acerca de Cómo lo quieres hacer... y acerca de la metodología que conlleva el mismo problema.

Por lo pronto, puedes tener el control de esa información utilizando arreglos y un constructor.

Al igual, puedes utilizar arrayList si lo que deseas es un poco de dinamismo.

Saludos (:

comenta como queda
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
Imágen de perfil de Jorge

¡Ayuda! Colecciones en java

Publicado por Jorge (6 intervenciones) el 23/02/2014 21:22:15
Lo primero es saludarte. Lo segundo es solucionar tu problema. Ante todo debes saber que las colecciones, son una herramienta muy útil, y poderosa. Tiene la ventaja sobre los arrays de no tener un tamaño determinado y estático, al contrario, estos crecen de forma dinámica, a medida que los elementos crecen.
Para tu problema, es lo preciso, así que vamos a hacer un proyecto, que guarde muchos estudiantes, con sus respectivos datos a manipular, modificar, etc.

1. Como primero vamos a crear una clase estudiante, que tenga los datos que necesitamos manipular.

package estudiantes;

public class Estudiante {

private String nombre;
private String primerApellido;
private String segundoApellido;
private String cedula;
private String facultad;
private String carrera;
private byte semestre;
private String otros;

public Estudiante(String nombre, String primerApellido, String segundoApellido, String cedula, String facultad, String carrera, byte semestre, String otros) {
this.nombre = nombre;
this.primerApellido = primerApellido;
this.segundoApellido = segundoApellido;
this.cedula = cedula;
this.facultad = facultad;
this.carrera = carrera;
this.semestre = semestre;
this.otros = otros;
}

public Estudiante(){

}

public String getNombre() {
return nombre;
}

public void setNombre(String nombre) {
this.nombre = nombre;
}

public String getPrimerApellido() {
return primerApellido;
}

public void setPrimerApellido(String primerApellido) {
this.primerApellido = primerApellido;
}

public String getSegundoApellido() {
return segundoApellido;
}

public void setSegundoApellido(String segundoApellido) {
this.segundoApellido = segundoApellido;
}

public String getCedula() {
return cedula;
}

public void setCedula(String cedula) {
this.cedula = cedula;
}

public String getFacultad() {

return facultad;
}

public void setFacultad(String facultad) {
this.facultad = facultad;
}

public String getCarrera() {
return carrera;
}

public void setCarrera(String carrera) {
this.carrera = carrera;
}

public byte getSemestre() {
return semestre;
}

public void setSemestre(byte semestre) {
if(this.semestre>0 && this.semestre<=10)
this.semestre = semestre;
}

public String getOtros() {
return otros;
}

public void setOtros(String otros) {
this.otros=this.otros+";\n"+otros;
}

public String toString() {
return "Estudiante{\n" + " nombre=" + nombre + ",\n primerApellido=" + primerApellido + ",\n segundoApellido=" + segundoApellido + ",\n cedula=" + cedula + ",\n facultad=" + facultad + ",\n carrera=" + carrera + ",\n semestre=" + semestre + ",\n otros=" + otros + '}';
}




}

-----------------------------------------------------------------------------------------------------------------------------------------------------------

2. Luego, creamos una clase que manipule dicho datos, por medio de una interfaz pública.

package bd;

import estudiantes.Estudiante;
import java.util.ArrayList;
import java.util.Iterator;

public class BDEstudiantes {

private static String claveAdministrador="clave";
@SuppressWarnings("MismatchedQueryAndUpdateOfCollection")
private static ArrayList<Estudiante> miLista=new ArrayList<>();

public static boolean adiccionarEstudiante(String clave,String nombre, String primerApellido, String segundoApellido, String cedula, String facultad, String carrera, byte semestre, String otros){

if(claveAdministrador.equals(clave)){
Estudiante estd=new Estudiante(nombre,primerApellido,segundoApellido,cedula,facultad,carrera,semestre,otros);
miLista.add(estd);
return true;
}else
return false;
}

public static int numeroEstudiantes(){
return miLista.size();
}

public static String buscarEstudiante(String cedula){

String miAlumno=null;
boolean listo=false;
int indice=0;
while(indice<numeroEstudiantes()&&listo!=true){
if(miLista.get(indice).getCedula().equals(cedula)){
miAlumno=miLista.get(indice).toString();
listo=true;
}
++indice;

}

return miAlumno;

}

public static boolean buscarCedula(String cedula){
int indice=0;
while(indice<numeroEstudiantes()){
if(miLista.get(indice).getCedula().equals(cedula)){
return true;
}
++indice;
}
return false;
}

public static boolean modificarDatoNombre(String clave,String cedula,String nombre){

if(claveAdministrador.equals(clave)){

int indice=0;
while(indice<numeroEstudiantes()){
if(miLista.get(indice).getCedula().equals(cedula)){
miLista.get(indice).setNombre(nombre);
return true;
}
++indice;

}

}
return false;
}

public static boolean modificarPrimerApellido(String clave,String cedula,String apellido){

if(claveAdministrador.equals(clave)){

int indice=0;
while(indice<numeroEstudiantes()){
if(miLista.get(indice).getCedula().equals(cedula)){
miLista.get(indice).setPrimerApellido(apellido);
return true;
}
++indice;

}
}
return false;
}

public static boolean modificarSegundoApellido(String clave,String cedula,String apellido){

if(claveAdministrador.equals(clave)){

int indice=0;
while(indice<numeroEstudiantes()){
if(miLista.get(indice).getCedula().equals(cedula)){
miLista.get(indice).setSegundoApellido(apellido);
return true;
}
++indice;

}
}
return false;
}

public static boolean modificarCedula(String clave,String cedula){

if(claveAdministrador.equals(clave)){

int indice=0;
while(indice<numeroEstudiantes()){
if(miLista.get(indice).getCedula().equals(cedula)){
miLista.get(indice).setCedula(cedula);
return true;
}
++indice;

}
}
return false;
}

public static boolean modificarFacultad(String clave,String cedula,String facultad){

if(claveAdministrador.equals(clave)){

int indice=0;
while(indice<numeroEstudiantes()){
if(miLista.get(indice).getCedula().equals(cedula)){
miLista.get(indice).setFacultad(facultad);
return true;
}
++indice;

}
}
return false;
}

public static boolean modificarCarrera(String clave,String cedula,String carrera){

if(claveAdministrador.equals(clave)){

int indice=0;
while(indice<numeroEstudiantes()){
if(miLista.get(indice).getCedula().equals(cedula)){
miLista.get(indice).setCarrera(carrera);
return true;
}
++indice;

}
}
return false;
}

public static boolean modificarSemestre(String clave,String cedula,byte semestre){

if(claveAdministrador.equals(clave)){

int indice=0;
while(indice<numeroEstudiantes()){
if(miLista.get(indice).getCedula().equals(cedula)){
miLista.get(indice).setSemestre(semestre);
return true;
}
++indice;

}
}
return false;
}

public static boolean modificarOtros(String clave,String cedula,String otros){

if(claveAdministrador.equals(clave)){

int indice=0;
while(indice<numeroEstudiantes()){
if(miLista.get(indice).getCedula().equals(cedula)){
miLista.get(indice).setOtros(otros);
return true;
}
++indice;

}
}
return false;
}

public static ArrayList<String> mostrarAlumnos(){
//Se debe pasar los String de interés del ArrayList<Estudiante> miLista al ArrayList<String> alumnos
ArrayList<String> alumnos=new ArrayList<>();
//creamos un Iterator que recorra toda la colección
Iterator<Estudiante> it=miLista.iterator();
while(it.hasNext()){
alumnos.add(it.next().toString());
}
return alumnos;
}
}

--------------------------------------------------------------------------------------------------------------------------------------------------------------
3. Por último creamos una clase que contenga el método main, para ejecutar la aplicación, además de recibir datos por teclado, etc.

Este código está en la aplicación.

-------------------------------------------------------------------------------------------------------------------------------------------------------------
Te adiciono la aplicación elaborada en Netbeans.

Espero que te sirva de ayuda....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar