JavaでLinkedListを作成する必要があります。私はすべてのノードで、8つのデータアイテムが保存されているので、次のサブジェクトがそのノードにその8つのデータアイテムを保存するときに保存します。Java LinkedListノードに複数のデータ項目を格納して表示する
私はthis答えを使用してこれをどうやって行うのか、それは正しいと思いますが、オプション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)変数名は小文字で始まります。 2)intにキャストしてアスキー値と比較する代わりに、実際の文字に 'Opcion'を単に比較してください。 3)あなたの実際の質問が何であるか、どこに問題があるのかもあまり明確ではありません。 – unholysampler
1.あなたは正しいですが、私は自分のコードを理解できるようにそのようにコードします。 2.ありがとう、私はそれを忘れてしまった。 3.私が必要とするのは、6つの学生(各ノードとして)を追加することです。各自が8つのデータ項目(名、姓、SSN、住所、電話番号、電子メール、2つのレッスンの2つのコード6名の学生を追加した後、オプション4に進み、すべての学生とその個人データを表示する必要があります(6ノードすべてに含まれる8つのデータ項目すべてを表示する必要があります)。ノード内のデータ項目を削除し、ノード全体を削除することもできます... – Ashir
* "自分は正しいですが、自分のコードを理解できるようにコードを作成しています" * - これは悪い練習です。人々はあなたのコードを理解することができます –