Хранение более 1 элемента данных в узлах Java LinkedList и их отображение - PullRequest
0 голосов
/ 07 февраля 2011

Мне нужно сделать LinkedList на Java. Я хочу, чтобы в каждом узле сохранялось 8 элементов данных, поэтому при следующем регистре субъектов этот узел сохраняет эти 8 элементов данных.

Я использую этот ответ, чтобы получить справку о том, как это сделать, и я думаю, что я делаю это правильно, но когда я использую вариант 4, список не отображается на экране.

Спасибо.

import java.util.*;

class PaqueteDeDatos
{
   String Nombre;
   String Apellido;
   String Cedula;
   String Direccion;
   String Telefono;
   String CorreoElectronico;
   String Intensivo1;
   String Intensivo2;

   public PaqueteDeDatos(String a, String b, String c, String d, String e, String f, String g, String h) {
       Nombre = a;
        Apellido = b;
        Cedula = c;
        Direccion = d;
        Telefono = e;
        CorreoElectronico = f;
        Intensivo1 = g;
        Intensivo2 = h;
   }
}

public class Proyecto{

    public static void main(String[] args) {
        System.out.println ("┌──────────────────────────────────────────────────────────────────┐");
        System.out.println ("│                               Manejo de listas dinamicas en Java                                       │");
        System.out.println ("├──────────────────────────────────────────────────────────────────┤");
        System.out.println ("│Aplicacion que controla la informacion asociada a estudiante a inscribirse en un posible curso intensivo│");
        System.out.println ("└──────────────────────────────────────────────────────────────────┘");
        //Pausa();
        for (int i=0; i<25; ++i) System.out.println();
        LinkedList<PaqueteDeDatos> ListaDeAlumnos = new LinkedList<PaqueteDeDatos>();
        Iterator Iterador = ListaDeAlumnos.iterator();
        MenuPrincipal();
        Scanner CapturaDeDatos = new Scanner(System.in);
        System.out.print ("Introduzca su opcion: ");
        char Opcion = CapturaDeDatos.next().charAt(0);
        if ((int) Opcion !=53 && (int) Opcion !=52 && (int) Opcion !=51 && (int) Opcion !=50 && (int) Opcion !=49) {
            System.out.println("Opcion invalida. Por favor introduzca nuevamente su eleccion...");
            Pausa();
            for (int i=0; i<25; ++i) System.out.println();
            MenuPrincipal();
            System.out.print ("Introduzca su opcion: ");
            Opcion = CapturaDeDatos.next().charAt(0);
        }
        if ((int) Opcion ==49) {
            for (int i=0; i<25; ++i) System.out.println();
            System.out.print ("Introduzca el nombre del alumno: ");
            String Nombre = CapturaDeDatos.next();
            System.out.println ();
            System.out.print ("Introduzca el apellido del alumno: ");
            String Apellido = CapturaDeDatos.next();
            System.out.println ();
            System.out.print ("Introduzca el numero de cedula del alumno: ");
            String Cedula = CapturaDeDatos.next();
            System.out.println ();
            System.out.print ("Introduzca la direccion de habitacion del alumno: ");
            String Direccion = CapturaDeDatos.next();
            System.out.println ();
            System.out.print ("Introduzca el telefono de contacto del alumno: ");
            String Telefono = CapturaDeDatos.next();
            System.out.println ();
            System.out.print ("Introduzca el correo electronico del alumno: ");
            String CorreoElectronico = CapturaDeDatos.next();
            System.out.println ();
            System.out.println ("A continuacion introduzca los intensivos a cursar por el alumno, basandose en la tabla superior.");
            System.out.println ("Tenga en cuenta que solo se pueden inscribir MAXIMO 2 intensivos. Para evitar retrazos en el inicio");
            System.out.println ("de los intensivos, procure que los intensivos escogidos por el alumno no choquen entre si");
            System.out.println ("por tener los mismos horarios. Introduzca 00 (2 ceros) luego del primer intensivo, si el alumno solo");
            System.out.println ("va a cursar un intensivo...");
            System.out.println ();
            System.out.print ("Introduzca el codigo del intensivo seleccionado por el alumno: ");
            String Intensivo1 = CapturaDeDatos.next();
            System.out.println ();
            System.out.print ("Introduzca el codigo del intensivo seleccionado por el alumno: ");
            String Intensivo2 = CapturaDeDatos.next();
            System.out.println ();
            PaqueteDeDatos Alumno = new PaqueteDeDatos (Nombre,Apellido,Cedula,Direccion,Telefono,CorreoElectronico,Intensivo1,Intensivo2);
            ListaDeAlumnos.add(Alumno);
            System.out.println ("Alumno inscrito exitosamente.");
            System.out.println ("El sistema regresara al menu principal en 5 segundos...");
            Pausa();
            for (int i=0; i<25; ++i) System.out.println();
            MenuPrincipal();
            System.out.print ("Introduzca su opcion: ");
            Opcion = CapturaDeDatos.next().charAt(0);
        }
//        if ((int) Opcion ==50) {
//
//        }
  //      if ((int) Opcion ==51) EliminarAlumno();
        if ((int) Opcion ==52) {
            while (Iterador.hasNext())
                System.out.println (Iterador.next());
            System.out.println ("Listado de alumnos mostrado exitosamente.");
            System.out.println ("El sistema regresara al menu principal en 5 segundos...");
            Pausa();
            for (int i=0; i<25; ++i) System.out.println();
            MenuPrincipal();
            System.out.print ("Introduzca su opcion: ");
            Opcion = CapturaDeDatos.next().charAt(0);
        }
        if ((int) Opcion ==53) System.exit(0);

    }

    // Metodo para la pausa en pantalla
    private static void Pausa() {
        try {
            Thread.sleep(5000);
        }
        catch (InterruptedException ex) {
        }
    }

       // Metodo para el menu principal
    private static void MenuPrincipal() {
        System.out.println ("╔════════════════════╗");
        System.out.println ("║         Menu Principal        ║");
        System.out.println ("╠════════════════════╣");
        System.out.println ("║                               ║");
        System.out.println ("╠════════════════════╣");
        System.out.println ("║       Inscribir Alumno    (1) ║");
        System.out.println ("╠════════════════════╣");
        System.out.println ("║       Modificar Alumno    (2) ║");
        System.out.println ("╠════════════════════╣");
        System.out.println ("║       Eliminar Alumno     (3) ║");
        System.out.println ("╠════════════════════╣");
        System.out.println ("║ Mostrar Alumnos Inscritos (4) ║");
        System.out.println ("╠════════════════════╣");
        System.out.println ("║      Salir del sistema    (5) ║");
        System.out.println ("╚════════════════════╝");
        System.out.println ();
    }

}

1 Ответ

0 голосов
/ 07 февраля 2011

Ваш вопрос действительно трудно понять. Но если вы спрашиваете, почему в списке ListaDeAlumnos ничего нет, ответ будет таким: вы ничего не добавили в него .

Если вы хотите поместить элемент в список, вам нужно использовать один из методов add, insert или replace. Подробнее см. Список javadocs или учебник по использованию коллекций Java.

...