Java - problema con el JOptionPane

 
Vista:

problema con el JOptionPane

Publicado por kener (8 intervenciones) el 21/03/2020 03:13:07
buen día compañeros

no encuentro donde esta el error

cuando quiero registrar el nombre y código no hay problema

pero cuando quiero mostrar el listado de las materias aparece algo así

Departamento@24d46ca6
Departamento@7a81197d
Departamento@5ca881b5

espero me puedan ayudar

muchas gracias
saludos




clase principal

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import javax.swing.JOptionPane;
 
public class principal {
 
    public static void main(String[] args) {
        Universidad universidad = new Universidad("UDG VISTUAL");
 
        universidad.setDepartamento(new Departamento("ing sistemas"));
        universidad.setDepartamento(new Departamento("matematicas"));
        universidad.setDepartamento(new Departamento("seguridad"));
 
        boolean salir = false;
        int opcion;
        String datosMenu;
 
        while (salir != true) {
            datosMenu = "univer" + "---\n"
                    + "1. REGISTRAR ALUMNO\n"
                    + "2. matricula estudiante\n"
                    + "3. matricula estudiante\n"
                    + "4. matricula estudiante\n"
                    + "5. matricula estudiante\n"
                    + "6. matricula estudiante\n"
                    + "7. matricula estudiante\n"
                    + "ingrese la una opccion : \n";
            opcion = Integer.valueOf(JOptionPane.showInputDialog(datosMenu));
            switch (opcion) {
                case 1:
                    String nombre;
                    String cod;
                    cod = JOptionPane.showInputDialog("ingrese el codigo del estudiante: \n");
                    nombre = JOptionPane.showInputDialog("ingrese el nombre del estudiante: \n");
                    Estudiante e = new Estudiante(nombre, cod);
                    nombre = JOptionPane.showInputDialog(universidad.mostrarDepartamentos() + "\ningrese departamento");
                    Departamento d = universidad.buscarDepartamento(nombre);
                    if (d == null) {
                        JOptionPane.showMessageDialog(null, "NO SE ENCUENTRA EL DEPARTAMENTO");
                        break;
                    }
                    JOptionPane.showMessageDialog(null, "ESTUDIANTE MATRICULADO");
 
                    universidad.matricularEstudiante(e, d);
                    break;
                case 2:
                    String nDep;
                   nDep = JOptionPane.showInputDialog(universidad.mostrarDepartamentos()+"\ningrese departamento: \n");
 
                   Departamento dep = universidad.buscarDepartamento(nDep);
                    if (dep == null) {
                        JOptionPane.showMessageDialog(null, "NO SE ENCUENTRA EL DEPARTAMENTO");
                        break;
                    }
                    break;
                case 3:
                    break;
                case 4:
                    break;
                case 5:
                    break;
                case 6:
                    break;
                case 7:
                    salir = true;
 
            }
        }
    }
}


clase universidad

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
import java.util.HashSet;
import java.util.Iterator;
 
public class Universidad {
 
    String nombre;
 
    HashSet<Departamento> departamentos = new HashSet<Departamento>();
    HashSet<Estudiante> estudiantes = new HashSet<Estudiante>();
 
    public Universidad(String nombre) {
        this.nombre = nombre;
    }
 
     public void setDepartamento(Departamento departamento)
     {
        departamentos.add(departamento);
    }
 
    public Departamento buscarDepartamento(String nombre)
    {
        Departamento d = null;
        Iterator<Departamento> iterador = departamentos.iterator();
 
        while (iterador.hasNext())
        {
            d = iterador.next();
            if (d.getNombre().equals(nombre))
            {
                return d;
            }
        }
        d = null;
        return d;
    }
 
    public void matricularEstudiante(Estudiante estudiante, Departamento departamento) {
        estudiantes.add(estudiante);
        estudiante.setUniversidad(this);
        departamento.setEstudiante(estudiante);
        estudiante.setDepartamento(departamento);
 
    }
 
    public String mostrarDepartamentos() {
        String dato = "";
        Iterator<Departamento> iterador = departamentos.iterator();
        Departamento temp = null;
        while (iterador.hasNext()) {
            temp = iterador.next();
            dato = dato + temp.toString() + "\n";
 
        }
        return dato;
 
    }
 
    public String getNombre() {
        return nombre;
    }
 
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }
 
 
 
    public void setEstudiantes(Estudiante estudiante) {
        estudiantes.add(estudiante);
    }
 
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Omar
Val: 77
Ha disminuido su posición en 8 puestos en Java (en relación al último mes)
Gráfica de Java

problema con el JOptionPane

Publicado por Omar (24 intervenciones) el 21/03/2020 05:02:50
Hola Kener la situación del error está en que debes de sobre escribir el método toString en tu clase Departamento.
Con eso se arregla.


Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar