gpt4 book ai didi

java - 链接列表,学生到某个学科

转载 作者:太空宇宙 更新时间:2023-11-04 11:24:53 25 4
gpt4 key购买 nike

我正在尝试注册学生和科目,然后将学生添加到科目中。所有这些都使用 Java 中的链表。

到目前为止,我可以添加学生和科目并显示它们的列表,但我无法“链接”它们并显示哪些学生正在学习哪个科目。

代码在这里:

package examenfinal;

/**
*
* @author USUARIO
*/
public class Alumno {
private int ID;
private String Nombre;
private int Carne;

public Alumno(int Id, String nombre, int carne) {
this.ID = Id;
this.Nombre = nombre;
this.Carne = carne;
}

public int getID() {
return ID;
}

public void setID(int Id) {
this.ID = Id;
}

public String getNombre() {
return Nombre;
}

public void setNombre(String nombre) {
this.Nombre = nombre;
}

public int getCarne() {
return Carne;
}

public void setCarne(int carne) {
this.Carne = carne;
}

@Override
public String toString() {
return "Alumno{" + "ID=" + ID + ", Nombre=" + Nombre + ", Carne=" + Carne + '}';
}


}
package examenfinal;
import java.util.LinkedList;
/**
*
* @author USUARIO
*/
public class Curso {
private int Codigo;
private String Nombre;
private int Ciclo;
private int Año;
private LinkedList<Alumno> Asignar;

public Curso() {
}


public Curso(int codigo, String nombre, int ciclo, int año) {
this.Codigo = codigo;
this.Nombre = nombre;
this.Ciclo = ciclo;
this.Año = año;
}

public int getCodigo() {
return Codigo;
}

public void setCodigo(int Codigo) {
this.Codigo = Codigo;
}

public String getNombre() {
return Nombre;
}

public void setNombre(String Nombre) {
this.Nombre = Nombre;
}

public int getCiclo() {
return Ciclo;
}

public void setCiclo(int Ciclo) {
this.Ciclo = Ciclo;
}

public int getAño() {
return Año;
}

public void setAño(int Año) {
this.Año = Año;
}

public void RegristrarAlumno(int carne, String nombre, int id){
Asignar.add(new Alumno(carne, nombre, id));
}

public LinkedList<Alumno> getAsignar() {
return Asignar;
}
}
package examenfinal;
import java.util.LinkedList;
/**
*
* @author USUARIO
*/
public class Universidad {
private LinkedList<Alumno> Inscritos;
private LinkedList<Curso> Cursos;


public Universidad()
{
Inscritos = new LinkedList<>();
Cursos = new LinkedList<>();
}


public void Crear_Curso(int cod_curso, String nombre, int ciclo, int año){
this.Cursos.add(new Curso(cod_curso, nombre, ciclo, año));
}
public void Crear_Alumno(int id, String nombre, int carne){
this.Inscritos.add(new Alumno(id, nombre, carne));
}
public void Asignar_Alumno_a_Curso(Curso curso, Alumno alumno){
curso.RegristrarAlumno(0, alumno.getNombre(), 0);
}
public LinkedList<Curso> getCursos(){
return Cursos;
}
public LinkedList<Alumno> getInscritos(){
return Inscritos;
}
}
package examenfinal;
import java.util.LinkedList;
import java.util.Scanner;
import java.util.*;
/**
*
* @author USUARIO
*/
public final class InterfaceConsola {
private Alumno alumno1;
private Curso curso1;
private Universidad universidad1;
private Scanner in= new Scanner(System.in);
private int Opcion;

public void CrearCurso(){
System.out.println("INFORMACION DEL CURSO");

int Id;
String Nombre;
int Ciclo;
int Año;

System.out.println("CODIGO: ");
Id=(in.nextInt());
System.out.println("NOMBRE: ");
Nombre = (in.next());
System.out.println("CICLO: ");
Ciclo = (in.nextInt());
System.out.println("AÑO: ");
Año = (in.nextInt());

universidad1.Crear_Curso(Id, Nombre, Ciclo, Año);

}

public void CrearAlumno(){
System.out.println("\nINGRESE LA INFORMACION DEL ALUMNO");
System.out.println("\nID: ");
int Id;
String Nombre;
int Carne;

Id = (in.nextInt());
System.out.println("\nNOMBRE: ");
Nombre = (in.next());
System.out.println("\nNO. CARNE: ");
Carne = (in.nextInt());
universidad1.Crear_Alumno(Id, Nombre, Carne);



}
public void MostrarCursos()
{
System.out.println("CURSOS REGISTRADOS: ");
LinkedList<Curso> Cursos = universidad1.getCursos();



Iterator it =Cursos.iterator();
while (it.hasNext())
{
Curso cursoActual = (Curso) it.next();
System.out.println(cursoActual.getNombre());
}

}

public void MostrarAlumnos()
{
System.out.println("ALUMNOS REGISTRADOS: ");
LinkedList<Alumno> Alumnos = universidad1.getInscritos();

Iterator it =Alumnos.iterator();
while (it.hasNext())
{
Alumno AlumnoActual = (Alumno) it.next();
System.out.println(AlumnoActual.getNombre());
}

}

public void AsignarAlumnos(){
}

public int Menu()
{

System.out.println("UNIVERSIDAD MARIANO GALVEZ DE GUATEMALA");
System.out.println("\tMENU");
System.out.println("\n1. INGRESAR ALUMNO");
System.out.println("2. MOSTRAR ALUMNOS INSCRITOS");
System.out.println("3. CREAR CURSO");
System.out.println("4. MOSTRAR CURSOS");
System.out.println("5. ASIGNAR ALUMNOS POR CURSO");
System.out.println("6. MOSTRAR ALUMNOS POR CURSO");
System.out.println("7. SALIR");
System.out.println("SELECCIONE UNA OPCION: ");
return in.nextInt();

}

public InterfaceConsola(){
universidad1= new Universidad();
}

public void Operacion()
{
int opcion = Menu();
while (opcion!= 7)
{
if (opcion == 1)
CrearAlumno();

if (opcion == 2)
MostrarAlumnos();

if (opcion == 3)
CrearCurso();

if (opcion == 4)
MostrarCursos();

if (opcion == 5)
AsignarAlumnos();

opcion = Menu();
}
}
}
package examenfinal;

/**
*
* @author USUARIO
*/
public class ExamenFinal {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
InterfaceConsola inter1 = new InterfaceConsola();
inter1.Operacion();
}

}

最佳答案

您需要重构 Curso 以接受现有的 Alumno

public void RegristrarAlumno(Alumno alumno){
Asignar.add(alumno);
}

接下来在您的InterfaceConsola#AsignarAlumnos中您必须询问学生证,从 LinkedList 中检索学生。

public void AsignarAlumnos(){
System.out.println("\nINGRESE LA ID DEL ALUMNO");
int alumnoId = in.nextInt();
System.out.println("\nINGRESE LA ID DEL CURSO");
int cursoId = in.nextInt();
List<Alumno> insrictos = universidad1.getInscritos();
Alumno alumno = null;
for(Iterator<Alumno> iteratorDelInstrictos = instritos.iterator(); iteratorDelInsritos.hasNext();){
Alumno testAlumno = iteratorDelInsritos.next();
if(testAlumno.getId() == alumnoId ){
alumno = testAlumno;
break;
}
}

if(alumno == null){
System.out.println("Alumno not found);
return;
}

Curso curso = null;
for(Iterator<Curso> iteratorDelCursos = universidad.getCursos().iterator(); iteratorDelCursos.hasNext();){
Curso testCurso = iteratorDelCursos.next();
if(testCurso.getCodigo() == cursoId){
curso = testCurso;
break;
}
}
if(curso == null){
System.out.println("Curso not found);
return;
}
curso.RegristrarAlumno(alumno);

此外,您还需要遵循 Java 命名准则(所有变量均为小写),并为迭代器使用泛型。

关于java - 链接列表,学生到某个学科,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44490906/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com