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

aplicando orientación a Objetos.

package com.MJ.proyecto.principal;

import com.MJ.proyecto.modulos.Estudiante;

import java.util.Scanner;

public class Principal { public static void main(String[] args) { Scanner teclado = new Scanner(System.in);

    Estudiante estudiante = new Estudiante();

    System.out.println("ingrese nombre del estudiante: ");
    estudiante.setNombre(teclado.nextLine());

    System.out.println("ingrese nota 1 del estudiante: ");
    estudiante.nota(teclado.nextDouble());

    System.out.println("ingrese nota 2 del estudiante: ");
    estudiante.nota(teclado.nextDouble());

    System.out.println("ingrese nota 3 del estudiante: ");
    estudiante.nota(teclado.nextDouble());

    System.out.println(estudiante.Evalua());

}

}

package com.MJ.proyecto.modulos;

public class Estudiante { private String nombre; private double nota = 0; private int numeroDeNotas = 0;

public void nota(double nota){                                                                                                               
    this.nota = this.nota + nota;                                                                                                           
    numeroDeNotas++;                                                                                                                        
}    
  
public String Evalua(){   
    if( nota/numeroDeNotas >=7.0 ){ 
        return "El estudiante " + nombre + " Obtuvo un promedio de: " + getPromedio() + " y fue aprobado";                                  
    } else if (nota/numeroDeNotas >= 5.0 && nota/numeroDeNotas <=6.9) {                                                                     
        return "El estudiante " + nombre + " Obtuvo un promedio de: " + getPromedio() + " y esta en recuperarción";                         
    } else {                                                                                                                                
        return "El estudiante " + nombre + " Obtuvo un promedio de: " + getPromedio() + " y fue reprobo";                                   
    }    
}   
                                                                                                                                            
public double getPromedio() {                                                                                                                
    return nota/numeroDeNotas;                                                                                                              
}                                                                                                                                           
                                                                                                                                            
public String getNombre() {                                                                                                                  
    return nombre;                                                                                                                          
}                                                                                                                                           
                                                                                                                                            
public void setNombre(String nombre) {                                                                                                       
    this.nombre = nombre;                                                                                                                   
}                                                                                                                                           
                                                                                                                                            
public int getNumeroDeNotas() {          
    return numeroDeNotas; 
} 

}

1 respuesta

Hola, Jesus, espero que estés bien

He revisado tu código y parece que está bastante bien encaminado. Sin embargo, hay un pequeño detalle que podrías ajustar para que funcione de acuerdo con la actividad que estás realizando.

En tu clase Estudiante, estás acumulando las notas y calculando el promedio correctamente, pero en el método Evalua(), estás usando nota/numeroDeNotas varias veces. Aunque esto funciona, es más eficiente calcular el promedio una vez y reutilizarlo. Además, asegúrate de que el método Evalua() esté llamando al método getPromedio() para obtener el promedio calculado.

Aquí tienes una pequeña sugerencia para mejorar el método Evalua():

public String Evalua() {
    double promedio = getPromedio(); // Calcula el promedio una vez
    if (promedio >= 7.0) {
        return "El estudiante " + nombre + " Obtuvo un promedio de: " + promedio + " y fue aprobado";
    } else if (promedio >= 5.0 && promedio <= 6.9) {
        return "El estudiante " + nombre + " Obtuvo un promedio de: " + promedio + " y está en recuperación";
    } else {
        return "El estudiante " + nombre + " Obtuvo un promedio de: " + promedio + " y fue reprobado";
    }
}

Este cambio hace que el código sea un poco más limpio y eficiente. Además, asegúrate de que el método nota() en la clase Estudiante esté siendo llamado correctamente para cada nota ingresada.

Espero que esto te ayude a resolver la actividad. ¡Bons estudios!