Hola Gerardo, espero que estés bien
Parece que estás en el camino correcto con tu código, pero hay un pequeño error que podrías querer corregir para que tu programa funcione conforme a lo esperado. En tu clase Calificaciones
, estás sumando las calificaciones a un atributo llamado calificaciones
, pero no estás almacenando cada calificación individualmente para calcular el promedio correctamente. Aquí te dejo una sugerencia para mejorar tu código:
- Usa un array o una lista para almacenar las calificaciones individuales. Esto te permitirá calcular el promedio correctamente.
Aquí tienes una versión modificada de tu clase Calificaciones
:
import java.util.ArrayList;
public class Calificaciones {
private int parciales;
private ArrayList<Double> calificaciones = new ArrayList<>();
private double promedio;
public String rendimientoAcademico() {
if (getPromedio() >= 7.0){
return "El estudiante aprobó";
} else if (getPromedio() < 5.0) {
return "El estudiante reprobó";
} else {
return "El estudiante está en recuperación";
}
}
public int getParciales() {
return parciales;
}
public void setParciales(int parciales) {
this.parciales = parciales;
}
public void setCalificaciones(double calificacion) {
this.calificaciones.add(calificacion);
}
public double getPromedio() {
double suma = 0;
for (double calificacion : calificaciones) {
suma += calificacion;
}
promedio = suma / parciales;
return promedio;
}
}
Con esta modificación, ahora puedes almacenar cada calificación individualmente y calcular el promedio de manera precisa. Espero que esto te ayude a resolver el problema.
¡Espero haber ayudado y buenos estudios!