Problema con la creación de un objeto dentro de un for
Publicado por jose (73 intervenciones) el 01/12/2021 16:55:22
Hola a todos,
Me estoy volviendo lo loco con un código.
El programa tiene tres clases
UsoColegio.java que contiene el main con :
Alumno.java que contiene
y la clase colegio.java que contiene
Al crear los alumnos desde el main envío al método nuevo alumno de la clase colegio los datos para la creación del objeto alumno
Pero al llegar aquí me crea solo un objeto,
Añado un screenshot del IDE con el valor Alumnos al debugear
A ver si alguien me puede decir que pasa
Me estoy volviendo lo loco con un código.
El programa tiene tres clases
UsoColegio.java que contiene el main con :
1
2
3
4
5
6
7
8
9
Colegio SanJavier=new Colegio("San Javier", 200);
Colegio Cervantes=new Colegio("Cervantes", 300);
SanJavier.nuevoAlumno("Juan",8.5);
SanJavier.nuevoAlumno("Sara",9);
Cervantes.nuevoAlumno("Ana",5);
Cervantes.nuevoAlumno("Antonio",7);
Cervantes.nuevoAlumno("Maria",3);
Alumno.java que contiene
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
public class Alumno {
public Alumno(String nombreAlumno, double notaMedia) {
this.nombreAlumno = nombreAlumno;
this.notaMedia = notaMedia;
numAlumno = numAlumnoSiguiente;
numAlumnoSiguiente++;
}
public String getNombreAlumno() {
return nombreAlumno;
}
public double getNotaMedia() {
return notaMedia;
}
public int getNumAlumno() {
return numAlumno;
}
private String nombreAlumno;
private double notaMedia;
private int numAlumno;
private static int numAlumnoSiguiente = 1;
}
y la clase colegio.java que contiene
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
public class Colegio {
Alumno[] Alumnos = new Alumno[0];
public Colegio (String nombreColegio, int numAlumnos) {
this.nombreColegio = nombreColegio;
this.numAlumnos = numAlumnos;
//Damos longitud al array
Alumnos = new Alumno[numAlumnos];
}
//Hecho - comprobar
public void nuevoAlumno(String nombreAlumno,double notaMedia) {
for (int i=0;i < Alumnos.length;i++) {
if (Alumnos[i]==null) {
Alumnos[i] = new Alumno(nombreAlumno,notaMedia);
}
System.out.println("Añadido " + nombreAlumno + " nota " + notaMedia +
"Al colegio : " + nombreColegio);
break;
}
}
public void getTodosAlumnos() {
for (int i = 0;i<Alumnos.length;i++) {
if(Alumnos[i]!=null) {
//String nombreAlumno = Alumno[i].getNombreAlumno();
System.out.print("Nombre alumno : " + Alumnos[i].getNombreAlumno() +
"\n Colegio : " + nombreColegio +
"\n Nº Alumno : " + Alumnos[i].getNumAlumno() +
"\n Nota media : " + Alumnos[i].getNotaMedia());
}
}
}
private String nombreColegio;
private int numAlumnos;
}
Al crear los alumnos desde el main envío al método nuevo alumno de la clase colegio los datos para la creación del objeto alumno
Pero al llegar aquí me crea solo un objeto,
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public void nuevoAlumno(String nombreAlumno,double notaMedia) {
for (int i=0;i < Alumnos.length;i++) {
if (Alumnos[i]==null) {
Alumnos[i] = new Alumno(nombreAlumno,notaMedia);
}
System.out.println("Añadido " + nombreAlumno + " nota " + notaMedia +
"Al colegio : " + nombreColegio);
break;
}
}
Añado un screenshot del IDE con el valor Alumnos al debugear
A ver si alguien me puede decir que pasa
- Screenshot-from-2021-12-01-16-53-37.zip(149,2 KB)
Valora esta pregunta


0