Hola Jorge, espero que estés bien
Tu código está casi correcto, pero hay un pequeño error en las condiciones que podría causar problemas. Específicamente, en la segunda condición else if(nota > 5.0 && nota < 6.9)
, deberías usar nota <= 6.9
para incluir el valor 6.9 en el rango de recuperación. Además, para el caso de reprobado, deberías usar nota < 5.0
como lo has hecho, pero asegúrate de que las condiciones cubran todos los casos posibles.
Aquí tienes una versión corregida de tu código:
Scanner teclado = new Scanner(System.in);
System.out.println("Detector de calificaciones");
System.out.println("Escribe la nota: ");
double nota = teclado.nextDouble();
if (nota >= 7.0) {
System.out.println("El estudiante tuvo un promedio de " + nota + " y fue aprobado.");
} else if (nota >= 5.0 && nota <= 6.9) {
System.out.println("El estudiante tuvo un promedio de " + nota + " y está en recuperación.");
} else {
System.out.println("El estudiante tuvo un promedio de " + nota + " y fue reprobado.");
}
Con este ajuste, tu programa debería funcionar correctamente de acuerdo con las reglas de la escuela. Espero que esto te ayude a resolver la duda.
Espero haber ayudado y buenos estudios!