Foros del Web » Programación para mayores de 30 ;) » Java »

Matriz con LinkedList

Estas en el tema de Matriz con LinkedList en el foro de Java en Foros del Web. Soy nuevo en Java. Siempre he programado en php :v El problema dice: Guardar información del padre, madre y alumno de una escuela con un ...
  #1 (permalink)  
Antiguo 27/03/2015, 02:52
 
Fecha de Ingreso: marzo-2015
Mensajes: 2
Antigüedad: 9 años, 1 mes
Puntos: 0
Matriz con LinkedList

Soy nuevo en Java. Siempre he programado en php :v
El problema dice: Guardar información del padre, madre y alumno de una escuela con un desconocido número de alumnos. Consultar e imprimir la información del alumno, padre y madre.
El problema es al momento de guardar la información en arrys (no puedo usar base de datos).
Les doy un serial verificador para que la consulta sea más rápida
Según mi algoritmo guardaría así:
ListaAlumno[0][0]="ettrw";//serial verificador
ListaAlumno[0][1]=" Apllido_Pat";
ListaAlumno[0][2]="Apllido _MAt";
ListaAlumno[0][3]=" Nombres ";
ListaAlumno[0][4]=" Grado ";
ListaAlumno[0][5]=" Promedio ";

ListaPadre[0][0]="ettrw";//serial verificador
ListaPadre[0][1]="Apellido_Pat";
ListaPadre[0][2]="Apellido_Mat";
ListaPadre[0][3]="Nombres";
ListaPadre[0][4]="Empleo";

ListaMadre[0][0]="ettrw";//serial verificador
ListaMadre[0][1]="Apellido_Pat";
ListaMadre[0][2]="Apellido_Mat";
ListaMadre[0][3]="Nombres";
ListaMadre[0][4]="Empleo";
Esto sería para un alumno, para otro sería así.

ListaAlumno[1][0]="effttgg";//serial verificador
ListaAlumno[1][1]=" Apllido_Pat";
ListaAlumno[1][2]="Apllido _MAt";
ListaAlumno[1][3]=" Nombres ";
ListaAlumno[1][4]=" Grado ";
ListaAlumno[1][5]=" Promedio ";

ListaPadre[1][0]=effttgg";//serial verificador
ListaPadre[1][1]="Apellido_Pat";
ListaPadre[1][2]="Apellido_Mat";
ListaPadre[1][3]="Nombres";
ListaPadre[1][4]="Empleo";

ListaMadre[1][0]="effttgg";//serial verificador
ListaMadre[1][1]="Apellido_Pat";
ListaMadre[1][2]="Apellido_Mat";
ListaMadre[1][3]="Nombres";
ListaMadre[1][4]="Empleo";

Así sucesivamente hasta que ya no haya alumnos. Pero como con arrays no me deja ni siquiera declar un array lineal dinámico, decidí hacerlo con un LinkedList pero al momento de declararlo, me pide que declare el tamaño de la matriz y ese es el chiste que no se cuantos alumnos hay :`v. Si no se puede hacer con linkedlist, entonces que me expliquen como se hace T.T, Gracias de antemano.
Cuando declaro las listas lo hago así:
LinkedList[][] listaalumno = new LinkedList[][5];
LinkedList[][] listapadre = new LinkedList[][4];
LinkedList[][] listamadre = new LinkedList[][4];
  #2 (permalink)  
Antiguo 27/03/2015, 03:02
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: Matriz con LinkedList

Lo que estás haciendo va totalmente contra los principios de la orientación a objetos.

Tienes que tratar de ver las cosas como objetos.

En tu caso Alumno es una clase, que debería contener una instancia de padre y otra de madre con su propia información.

Sería algo así, aunque puedes jugar con la herencia. El código está incompleto, es para que te hagas una idea.

Código Java:
Ver original
  1. public class Persona {
  2.      String nombre;
  3.      String apellido1;
  4.      String apellido2;
  5.  
  6. ...
  7.  
  8. }
  9.  
  10. public class Alumno extends Persona{
  11.  
  12.      String serial;
  13.      Persona padre;
  14.      Persona madre;
  15.      ...
  16. }

A su vez meterías el listado de alumnos en un array dinámico http://docs.oracle.com/javase/7/docs...util/List.html
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #3 (permalink)  
Antiguo 27/03/2015, 10:53
 
Fecha de Ingreso: marzo-2015
Mensajes: 2
Antigüedad: 9 años, 1 mes
Puntos: 0
Respuesta: Matriz con LinkedList

Pues código es el siguiente
Código Java:
Ver original
  1. import java.util.LinkedList;
  2. class Persona{
  3.      protected int edad,veri;
  4.      protected String nom,sexo;
  5.     public void Recdata(String nom,String sexo,int edad, int veri){//datos en común
  6.         this.nom= nom;
  7.         this.sexo=sexo;
  8.         this.edad=edad;
  9.         this.veri=veri;
  10.     }
  11. }  
  12.     class Recpadres extends Persona{
  13.         private String profes,lugtra;//datos sólo para los padres
  14.         LinkedList lismad ;
  15.         LinkedList lispad ;
  16.         public void Lista(){
  17.                         //aquí no se como declarar la lista para que haga la matriz dinámica
  18.             this.lispad = new LinkedList ();
  19.             this.lismad = new LinkedList ();
  20.         }
  21.         public void Excdata(String profes, String lugtra){
  22.             this.profes=profes;
  23.             this.lugtra=lugtra;
  24.         }
  25.         public void MadreGua(){
  26.             lismad.add(veri);
  27.             lismad.add(nom);
  28.             lismad.add(sexo);
  29.             lismad.add(edad);
  30.             lismad.add(profes);
  31.             lismad.add(lugtra);
  32.         }
  33.         public void PadreGua(){
  34.             lispad.add(veri);
  35.             lispad.add(nom);
  36.             lispad.add(sexo);
  37.             lispad.add(edad);
  38.             lispad.add(profes);
  39.             lispad.add(lugtra);
  40.         }
  41.     }
  42.     class Rechijo extends Persona {
  43.        
  44.                 private String esco; //dato único del alumno
  45.         private float prom; //dato único del alumno
  46.         LinkedList lishij;
  47.         public void Lista(){
  48.             lishij= new LinkedList();
  49.         }
  50.         public void Datoext(String esco, float prom){
  51.             this.esco=esco;
  52.             this.prom=prom;
  53.         }
  54.         public void Guarda(){
  55.             lishij.add(veri);
  56.             lishij.add(nom);
  57.             lishij.add(sexo);
  58.             lishij.add(edad);
  59.             lishij.add(esco);
  60.             lishij.add(prom);
  61.         }
  62.     }
:
Lo que quiero saber es cómo se hace la matriz dinámica :S pero gracias por la respuesta
  #4 (permalink)  
Antiguo 27/03/2015, 11:42
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: Matriz con LinkedList

Veo que no has hecho ni caso de lo que te he dicho.

Si Recdadres y Rechijo heredan de persona ¿por qué estás metiendo sus datos en un List cuando ya los deberías tener en atributos edad, nom, sexo y veri?

No necesitas para nada una matriz bidimensional.

Si tú tienes una lista con Rechijos y dentro de cada elemento Rechijo tienes dos atributos Recpadres (padre y madre) puedes acceder a ellos sin problemas.

hijo.padre.nom es el nombre del padre
hijo.madre.nom es el de la madre

Debes leer algún tutorial básico, parece que has aprendido a programar sólo estructuralmente con PHP (aunque PHP tiene objetos) y eso te va a dificultar aprender corrrectamente java.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.

Etiquetas: matriz, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:49.