Tengo que desarrollar una clase que Profe que tenga un método poneNotas y recibe un parámetro tipo Alumno y este método no devuelve nada. Lo que hace es poner una calificación a cada asignatura del alumno.
Tengo una clase Asignatura:
public class Asignatura {
private int ident, cal;
public Asignatura(int int)
{
this.ident = ident;
}
public int getIdent()
{
return ident;
}
public int getCal()
{
return cal;
}
public void setIdent(int y)
{
cal = y;
}
La clase Alumno:
public class Alumno {
private Asignatura a1, a2, a3;
public Alumno(Asignatura a1, Asignatura a2, Asignatura a3)
{
this.a1 = a1;
this.a2 = a2;
this.a3 = a3;
}
public Alumno(int b1, int b2, int b3)
{
a1 = new Asignatura(b1);
a2 = new Asignatura(b2);
a3 = new Asignatura(b3);
}
public Asignatura getA1()
{
return a1;
}
public Asignatura getA2()
{
return a2;
}
public Asignatura getA3()
{
return a3;
}
}
Clase Profesor:
public class Profesor {
public void ponerNotas(Alumno a)
{
double n1, n2, n3;
n1 = Math.round(Math.random());
n2 = Math.round(Math.random());
n3 = Math.round(Math.random());
a = new Alumno(n1,n2,n3);
}
}
El problema está en que el constructor Alumno(int, int, int) recibe como parámetros el número que identifica a cada asignatura, y no las calificaciones.
O quizás en el constructor de Asignatura(int ident) en realidad sea Asignatura(int cal) (cal = calificación).
Pero el otro détalle es que las notas deben ser tipo double, y no int.
Saludos.