简体   繁体   English

在Java LinkedList节点上存储多个数据项并显示它们

[英]Storing more than 1 data item at a java LinkedList nodes and showing them

I need to make a LinkedList in Java. 我需要用Java创建一个LinkedList。 I want that in every node, 8 data items stays stored, so when the next subject register that node stores that 8 data items. 我希望在每个节点中保留8个数据项,因此当该节点的下一个主题寄存器存储该8个数据项时。

I use this answer to get a reference on how do this and I think I do it right, but when I use option 4, the list it's not seen on screen. 我使用答案来获取有关如何执行此操作的参考,我认为我做对了,但是当我使用选项4时,屏幕上看不到该列表。

Thanks. 谢谢。

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 ();
    }

}

Your question is really hard to understand. 您的问题确实很难理解。 But if you are asking why the ListaDeAlumnos list appears to have nothing in it, the answer is that you didn't put anything in it . 但是,如果您要问为什么ListaDeAlumnos列表似乎没有任何内容,答案是您没有在其中添加任何内容

It you want to put an element into a list, you need to use one of the add , insert or replace methods. 如果要将元素放入列表中,则需要使用addinsertreplace方法之一。 Please refer to the List javadocs or a tutorial on using Java collections for details. 有关详细信息,请参考List javadocs或有关使用Java集合的教程

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM