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

Proyecto Practicando condicionales utilizando Poo

package com.aluracursos;

import java.util.ArrayList;

public class Estudiante {

    private String nombre;
    private String identificacion;
    // utilice una lista dinamica para almacenar las notas necesarias y calcular el
    // promedio del estudiante.
    private ArrayList<Double> notas;

    public Estudiante(String nombre, String identificacion) {
        this.nombre = nombre;
        this.identificacion = identificacion;
        this.notas = new ArrayList<>();
    }

    // ➕ Método para agregar una nota
    public void agregarNota(double nota) {
        if (nota >= 0.0 && nota <= 10.0) {
            notas.add(nota);
        } else {
            System.out.println(" Nota inválida. Debe estar entre 0.0 y 10.0");
        }
    }

    public double calcularPromedio() {
        if (notas.isEmpty())
            return 0.0;

        double suma = 0.0;
        // forech para recorrer y sumar mis notas.
        for (double nota : notas) {
            suma += nota;
        }
        return suma / notas.size(); // en este caso como estoy utilizando una lista dinamica y no un array comun
                                    // puse el punto size , en determinado caso , se pone el .legth
    }

    public String obtenerEstado() {
        double promedio = calcularPromedio();
        if (promedio >= 7.0) {
            return " Felicidades estas Aprobado";
        } else if (promedio >= 5.0 && promedio < 7.0) {
            return "Oh vaya puedes mejorar a la proxima estas en estado de  ¡Recuperación!";
        } else {
            return "lo sentimos :( , estas Reprobado";
        }
    }

    public String getNombre() {
        return nombre;
    }

    public String getIdentificacion() {
        return identificacion;
    }

    public ArrayList<Double> getNotas() {
        return notas;
    }

}

Mi clase principal que contiene las instancias de toda mi case Estudiante

package com.aluracursos;

public class main {

    public static void main(String[] args) {

        Estudiante student = new Estudiante("juanita", "123312123");
        student.agregarNota(1.2);
        student.agregarNota(1.6);
        student.agregarNota(7.5);

        // Utilice variables para almacenar mis metodos
        double promedio = student.calcularPromedio();
        String estado = student.obtenerEstado();

        // imprime cada uno de los detalles con la informacion suministrada.
        System.out.println("Nombre: " + student.getNombre());
        System.out.println("Identificación: " + student.getIdentificacion());
        System.out.println("Notas: " + student.getNotas());
        System.out.println("Promedio: " + promedio);
        System.out.println("Estado: " + estado);

    }

}
1 respuesta

¡Hola, Maria, espero que estés bien!

Tu código parece estar bien estructurado para el objetivo que quieres lograr. Has creado una clase Estudiante que maneja las notas, calcula el promedio y determina el estado del estudiante según las reglas que mencionaste.

Aquí hay algunas sugerencias para asegurarte de que tu programa cumple con los requisitos de la actividad:

  1. Verifica el cálculo del promedio y el estado: Tu método calcularPromedio() suma todas las notas y las divide por el número de notas, lo cual es correcto. El método obtenerEstado() utiliza condicionales if/else para determinar si el estudiante está aprobado, en recuperación o reprobado, siguiendo las reglas de la escuela.

  2. Salida esperada: Asegúrate de que el formato de salida del programa coincida con el formato esperado en la actividad. Por ejemplo, puedes modificar la salida en el main para que se ajuste al formato esperado:

System.out.println("El estudiante tuvo un promedio de " + promedio + " y " + estado.toLowerCase() + ".");

Esto debería generar una salida como:

  • "El estudiante tuvo un promedio de 8.2 y fue aprobado."
  • "El estudiante tuvo un promedio de 5.8 y está en recuperación."
  • "El estudiante tuvo un promedio de 4.3 y fue reprobado."
  1. Pequeños detalles: Asegúrate de que los mensajes en obtenerEstado() sean consistentes y claros. Por ejemplo, podrías ajustar los mensajes para que se alineen mejor con la salida esperada.

Espero que estas sugerencias te sean útiles. ¡Espero haber ayudado y buenos estudios!