Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Codigo calificaciones

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        Calificaciones alumno1 = new Calificaciones();
        System.out.println("Cuantos parciales son?");
        alumno1.setParciales(scanner.nextInt());

        for (int i = 0; i < alumno1.getParciales(); i++) {
            System.out.println("Cual es la calificacion del parcial " + (i+1)  );
            alumno1.setCalificaciones(scanner.nextDouble());
        }

        System.out.println("El promedio del alumno es de: " + alumno1.getPromedio());
        System.out.println(alumno1.rendimientoAcademico());
    }
}
public class Calificaciones {
    private int parciales;
    private double calificaciones;
    private double promedio;

    public String rendimientoAcademico() {
        if (getPromedio() >= 7.0){
            return "El estudiante aprobo";
        } else if (getPromedio() < 5.0) {
            return "El estudiante reprobo";
        }else {
            return "El estudiante esta en recuperacion";
        }

    }
    public int getParciales() {
        return parciales;
    }

    public void setParciales(int parciales) {
        this.parciales = parciales;
    }

    public double getCalificaciones() {
        return calificaciones;
    }

    public void setCalificaciones(double calificaciones) {
        this.calificaciones += calificaciones;
    }

    public double getPromedio() {
        promedio = this.calificaciones/parciales;
        return promedio;
    }
}
1 respuesta

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:

  1. 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!