Ejercicio de programacion en JAVA (JBuilder)

AbelardoX
03 de Marzo del 2008
Hola a todos, bueno tengo una duda me han dejado este ejercicio:


Ej.Parte 1.- Implementar una clase cPersona (clase funcional sin "main" ) que permita administrar los datos de una persona. los atributos que debe tener la clase son Dni, Nombre, Sexo y Donante, Asi mismo debe implementar un metodo grabar que reciba como argumento los datos correspondientes a cada atributo de la clase Persona y un metodo Inicializar que permita Iniciar en blanco los atributos de la clase debe tener en cuenta el siguiente Diseño:


cPersona
-------------------------------------------------------
Dni: Cadena (String)
Nombre: Cadena
Sexo: Cadena
Donante: boolean

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

Grabar(iDni, iNombre, iSexo, iDonante)
Inicializar()
getDni(): Cadena
getNombre(): Cadena
getSexo(): Cadena
getDonante(): booleano

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

Ej.Parte 2.- Utilizando la clase del ejercicio anterior, diseñar una clase cPersonas (clase funcional sin "main" que permita administrar un listado de personas. Para implementar dicha clase debe tener en cuenta el siguiente diseño:

cPersonas
----------------------------------------------------
Cantidad: Entero (int)
Personas[ ]: cPersona

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

Agregar(iPersona)
Inicializar()
getPersonas[ ] : cPersona

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

El ejercicio continua pero la parte que no entiendo es como almaceno los datos de la clase cPersona en los arrays de la clase cPersonas, francamente he estado tratando de mil formas y no me ilumino, a lo mejor yo estoy teniendo un punto de vista equivocado de como hacerlo, bueno he implementado la clase cPersona y he hecho esto:


cPersona

class cPersona {
public static String Dni, Nombre, Sexo;
public static boolean Donante;
cPersona(String a, String b, String c, boolean d) {
Dni = a;
Nombre = b;
Sexo = c;
Donante = d;
}
public static void Inicializar() {
Dni = " ";
Nombre = " ";
Sexo = " ";
Donante = false;
}
public String getDni() {
return Dni;
}
public String getNombre() {
return Nombre;
}
public String getSexo() {
return Sexo;
}
public boolean getDonante() {
return Donante;
}
}
----------------------------------------------------------

Creo que la parte de cPersona estan bien, ha menos que me falte algo en el metodo Inicializar, pero de todas formas no entiendo como llevar estos datos a la otra clase en arrays , me gustaria que alguien me diera una mano, por que teniendo la segunda clase, el resto del ejercicio me sale de inmediato (el resto es crear un formulario para cargar los datos de una persona y mostrarlos en una JTable), bueno espero respuestas, creo que me he explicado bien, gracias

goabar
03 de Marzo del 2008
para poder guardar los elementos en un Array tienes que crear el array especificando el número de elementos que contendra el array por ejemplo String ArrayPersona [ ] = String[ 4 ] para ingresarle los valores al array tienes poner por ejemplo cPersona clasePersona = cPersona (dni , nombre, sexo, donante);
ArrayPersona[ 0 ] = clasePersona.getDni();
ArrayPersona[ 1 ] = clasePersona.getNombre();
ArrayPersona[ 2 ] = clasePersona.getSexo();
pero no funcionaria para el tipo boolaneo, para eso tendrias que modificar tu metodo getDonante por

public String getDonante(){
if(Donante) return "Si es Donante";
else return "no es donante";
}

si quieres crear varias personas con sus propios atributos tienes que crear un array con dos dimensiones ArrayPersona[ ] [ ], sin embargo de esta forma tendrías que establecer desde que se crea el array cuantas personas vas a ingresar. si quieres incrementar el numero de personas sin conocer cuantas personas vas a registrar es mejor usar la clase vector<String> u vector<Object> para poder usar el donante como tipo boolaneo,

espero te haya ayudado