elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Herencia java
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Herencia java  (Leído 1,962 veces)
Dayleap

Desconectado Desconectado

Mensajes: 20


Ver Perfil
Herencia java
« en: 3 Abril 2017, 14:27 pm »

Hola muy buenas a todos!! tengo un problema en este programa que estoy realizando ahora mismo  el cual mediante la lectura de un fichero que contiene personas y sus datos, va a ordenarlas en función de si son monitores o usuarios en dos HashMaps diferentes ( Monitores y Usuarios). El problema está en que las clases monitores y usuarios heredan de la clase personas un identificador( idPersona) el nombre, los apellidos y la fecha de nacimiento. Esos 4 datos a la hora de imprimir los HashMap de Personas y Monitores me dice que son null y no deberia de ser asì , a parte cuando intento imprimir un hashmap con todas las personas , me dice la ruta donde se encuentra la clase personas . Os adjunto el codigo! muchas gracias!

MI PREGUNTA: ¿Porque cuando relleno el HashMap de Usuarios y Monitores , no me rellena los campos de  id nombre apellidos fecha de nacimiento? ¿ Porque cuando imprimo el hashmap de personas me imprime el paquete donde se encuentra ?
ejemplo:

{1=es.uvigo.pii.instalacionesdeportivas.main.Persona@6d06d69c, 2=es.uvigo.pii.instalacionesdeportivas.main.Persona@7852e922, 3=es.uvigo.pii.instalacionesdeportivas.main.Persona@15db9742}

Código
  1.  
  2. import java.io.BufferedReader;
  3. import java.io.BufferedWriter;
  4. import java.io.File;
  5. import java.io.FileReader;
  6. import java.util.HashMap;
  7. import es.uvigo.pii.instalacionesdeportivas.main.Persona;
  8.  
  9. public class FicheroPersonas {
  10.  
  11. public static void main(String[] args) {
  12.  
  13. // TODO Auto-generated method stub
  14.  
  15. HashMap<Integer,Persona> Personas= new HashMap<Integer,Persona>();
  16. HashMap<Integer,Usuario> Usuarios= new HashMap<Integer,Usuario>();
  17. HashMap<Integer,Monitor> Monitores= new HashMap<Integer,Monitor>();
  18.  
  19. String[] datos=new String[10];
  20. int i=0;
  21. int idsOcupados=0;
  22. FileReader fr = null;
  23. BufferedReader br = null;
  24.  
  25. String rutaPersonas = "personas.txt";
  26. File personas = new File(rutaPersonas);
  27.  
  28. try {
  29. // Apertura del fichero y creacion de BufferedReader para poder
  30. // hacer una lectura comoda (disponer del metodo readLine()).
  31.  
  32. fr = new FileReader(personas);
  33. br = new BufferedReader(fr);
  34.  
  35. // Lectura del fichero
  36. String linea;
  37. while ((linea = br.readLine()) != null) {
  38.  
  39. if(linea.startsWith("*")!=true){
  40.  
  41. datos[i]=linea; // guardo la linea
  42. i++;
  43.  
  44. }
  45.  
  46.  
  47. if(linea.startsWith("*")==true){
  48.  
  49. if(datos[1].equalsIgnoreCase("usuario")){
  50. System.out.println(datos[0]+datos[1]);
  51.  
  52. Usuario usuario=new Usuario(Integer.parseInt(datos[0]),datos[2],datos[3],datos[4],datos[5],datos[6],Float.parseFloat(datos[7]),datos[8]);
  53.  
  54.  
  55. Usuarios.put(Integer.parseInt(datos[0]), usuario);
  56.  
  57.  
  58. Persona persona=new Persona(Integer.parseInt(datos[0]),datos[2],datos[3],datos[4]);
  59.  
  60. Personas.put(Integer.parseInt(datos[0]), persona);
  61.  
  62. }
  63. if(datos[1].equalsIgnoreCase("monitor")){
  64. System.out.println(datos[0]+datos[1]);
  65.  
  66. Monitor monitor=new Monitor(Integer.parseInt(datos[0]),datos[2],datos[3],datos[4],Integer.parseInt(datos[5]),datos[6]);
  67. Monitores.put(Integer.parseInt(datos[0]), monitor);
  68.  
  69. Persona persona=new Persona(Integer.parseInt(datos[0]),datos[2],datos[3],datos[4]);
  70.  
  71. Personas.put(Integer.parseInt(datos[0]), persona);
  72. }
  73. i=0;
  74. idsOcupados ++;
  75. }
  76.  
  77. }
  78. if(datos[1].equalsIgnoreCase("usuario")){
  79. System.out.println(datos[0]+datos[1]);
  80. idsOcupados ++;
  81. }
  82. if(datos[1].equalsIgnoreCase("monitor")){
  83. System.out.println(datos[0]+datos[1]);
  84. idsOcupados ++;
  85. }
  86. System.out.println(Monitores);
  87. System.out.println(Usuarios);
  88. System.out.println(Personas);
  89.  
  90. } catch (Exception e) {
  91. e.printStackTrace();
  92. } finally {
  93. // En el finally cerramos el fichero, para asegurarnos
  94. // que se cierra tanto si todo va bien como si salta
  95. // una excepcion.
  96. try {
  97. if (null != fr) {
  98.  
  99. fr.close();
  100.  
  101. }
  102. } catch (Exception e2) {
  103. e2.printStackTrace();
  104. }
  105. }
  106.  
  107. }
  108.  
  109.  
  110. }
  111.  
  112.  
  113. public class Usuario extends Persona{
  114.  
  115. public int idUsuario;
  116. public String nombre;
  117. public String apellidos;
  118. public String fechaNacimiento;
  119. public String fechaAlta;
  120. public String actividadesPrevias;
  121. public float saldo;
  122. public String actividadesActuales;
  123.  
  124. public Usuario(int idUsuario,String nombre,String apellidos,String fechaNacimiento,String fechaAlta,String actividadesPrevias, float saldo, String actividadesActuales){
  125. super(idUsuario,nombre,apellidos,fechaNacimiento);
  126.  
  127. this.fechaAlta=fechaAlta;
  128. this.actividadesActuales=actividadesActuales;
  129. this.saldo=saldo;
  130. this.actividadesPrevias=actividadesPrevias;
  131. }
  132.  
  133. //GETTERS & SETTERS
  134.  
  135.  
  136.  
  137.  
  138. @Override
  139. public String toString() {
  140. return "Usuario [nombre=" + nombre + ", apellido=" + apellidos+", fechaNacimiento=" + fechaNacimiento
  141. + ", fechaAlta=" + fechaAlta + ", actividadesPrevias=" + actividadesPrevias + ", saldo=" + saldo
  142. + ", actividadesActuales=" + actividadesActuales + "]";
  143. }
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151. public String getFechaAlta() {
  152. return fechaAlta;
  153. }
  154.  
  155. public void setFechaAlta(String fechaAlta) {
  156. this.fechaAlta = fechaAlta;
  157. }
  158.  
  159. public String getActividadesPrevias() {
  160. return actividadesPrevias;
  161. }
  162.  
  163. public void setActividadesPrevias(String actividadesPrevias) {
  164. this.actividadesPrevias = actividadesPrevias;
  165. }
  166.  
  167. public float getSaldo() {
  168. return saldo;
  169. }
  170.  
  171. public void setSaldo(float saldo) {
  172. this.saldo = saldo;
  173. }
  174.  
  175. public String getActividadesActuales() {
  176. return actividadesActuales;
  177. }
  178.  
  179. public void setActividadesActuales(String actividadesActuales) {
  180. this.actividadesActuales = actividadesActuales;
  181. }
  182.  
  183. }
  184.  
  185.  
  186. public class Monitor extends Persona{
  187.  
  188. public int idMonitor;
  189. public String nombre;
  190. public String apellidos;
  191. public String fechaNacimiento;
  192. public int horasAsignables;
  193. public String GruposImpartidos;
  194.  
  195. public Monitor(int idMonitor,String nombre, String apellidos, String fechaNacimiento, int horasAsignables, String GruposImpartidos){
  196. super(idMonitor,nombre,apellidos,fechaNacimiento);
  197.  
  198.  
  199. this.horasAsignables=horasAsignables;
  200. this.GruposImpartidos=GruposImpartidos;
  201.  
  202.  
  203. }
  204.  
  205.  
  206.  
  207. @Override
  208. public String toString() {
  209. return "Monitor [nombre=" + nombre + ", apellidos=" + apellidos + ", fechaNacimiento=" + fechaNacimiento
  210. + ", horasAsignables=" + horasAsignables + ", GruposImpartidos=" + GruposImpartidos + "]";
  211. }
  212.  
  213.  
  214.  
  215.  
  216. public int getHorasAsignables() {
  217. return horasAsignables;
  218. }
  219.  
  220. public void setHorasAsignables(int horasAsignables) {
  221. this.horasAsignables = horasAsignables;
  222. }
  223.  
  224. public String getGruposImpartidos() {
  225. return GruposImpartidos;
  226. }
  227.  
  228. public void setGruposImpartidos(String gruposImpartidos) {
  229. GruposImpartidos = gruposImpartidos;
  230. }
  231.  
  232.  
  233. }
  234.  
  235.  
  236. public class Persona {
  237.  
  238. public int idPersona;
  239. public String nombre;
  240. public String apellidos;
  241. public String fechaNacimiento;
  242.  
  243. public Persona(int idPersona, String nombre, String apellidos,String fecha){
  244. super();
  245.  
  246. this.idPersona=idPersona;
  247. this.nombre=nombre;
  248. this.apellidos=apellidos;
  249. this.fechaNacimiento=fechaNacimiento;
  250.  
  251. }
  252. //GETTERS & SETTERS
  253. public int getIdPersona() {
  254. return idPersona;
  255. }
  256.  
  257. public void setIdPersona(int idPersona) {
  258. this.idPersona = idPersona;
  259. }
  260.  
  261. public String getNombre() {
  262. return nombre;
  263. }
  264.  
  265.  
  266.  
  267. public void setNombre(String nombre) {
  268. this.nombre = nombre;
  269. }
  270.  
  271. public String getApellidos() {
  272. return apellidos;
  273. }
  274.  
  275. public void setApellidos(String apellidos) {
  276. this.apellidos = apellidos;
  277. }
  278.  
  279. public String getFechaNacimiento() {
  280. return fechaNacimiento;
  281. }
  282.  
  283. public void setFechaNacimiento(String fechaNacimiento) {
  284. this.fechaNacimiento = fechaNacimiento;
  285. }
  286.  
  287.  
  288.  
  289.  
  290.  
  291. }
  292.  
  293.  


« Última modificación: 3 Abril 2017, 17:45 pm por Dayleap » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Manejar Herencia en Java
Java
**Adem** 1 14,154 Último mensaje 2 Marzo 2008, 17:38 pm
por Casidiablo
Herencia en php
PHP
Hadess_inf 2 6,211 Último mensaje 23 Octubre 2009, 21:24 pm
por HardieVon
herencia en java
Java
bengy 3 2,427 Último mensaje 20 Marzo 2014, 05:48 am
por Mitsu
[Java] Ayuda con herencia
Programación General
samyri 2 2,071 Último mensaje 19 Agosto 2014, 16:37 pm
por samyri
¿En qué estoy fallando en herencia java? auxilio por favor
Java
miltonprogramador 6 3,207 Último mensaje 16 Diciembre 2016, 02:30 am
por miltonprogramador
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines