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

Desafio Asignatura

import java.util.Scanner;

public class Aprobacion {
public static void main(String[] args) {
double sum_notas = 0;
double prom = 0;
Scanner scanner = new Scanner(System.in);
System.out.print("Por favor, ingresa la cantidad de notas: ");
int cant_notas = scanner.nextInt();

    for (int i = 1; i <= cant_notas; i++) {
        Double nota;
        while (true) {
            System.out.print("Ingrese nota " + i + " (entre 1 y 10): ");
            nota = scanner.nextDouble();

            if (nota >= 1 && nota <= 10)
                break;
            else
                System.out.println("Nota inválida, debe estar entre 1 y 10");
        }
        sum_notas += nota;
    }

    prom = (sum_notas / cant_notas);
    System.out.println(prom);
    if (prom >= 7.0) {
        System.out.println("El estudiante tuvo un promedio de " + prom + " y fue aprobado.");
    } else if (prom >= 5.0) {
        System.out.println("El estudiante tuvo un promedio de " + prom + " y está en recuperación.");
    } else {
        System.out.println("El estudiante tuvo un promedio de " + prom + " y fue reprobado.");
    }
}

}

1 respuesta

¡Hola, Alexandra!

Tu código parece estar bien encaminado para resolver el problema planteado en el ejercicio. Has implementado correctamente la lógica para calcular el promedio de las notas y determinar la situación del estudiante según las reglas de la escuela. Aquí tienes algunos puntos a considerar para asegurarte de que tu programa esté funcionando como se espera:

  1. Entrada de datos: Estás utilizando Scanner para recibir la cantidad de notas y las notas en sí, lo cual es correcto. Asegúrate de que el usuario ingrese valores válidos, como ya lo estás haciendo con el bucle while que verifica si la nota está entre 1 y 10.

  2. Cálculo del promedio: Estás calculando el promedio dividiendo la suma de las notas por la cantidad de notas, lo cual es correcto.

  3. Condicionales: Has implementado correctamente las condiciones if, else if y else para determinar si el estudiante está aprobado, en recuperación o reprobado, basándote en el promedio calculado.

  4. Salida del programa: Tu programa imprime el promedio y el estado del estudiante correctamente. Asegúrate de que los mensajes de salida coincidan con los ejemplos proporcionados en el ejercicio.

Tu código ya cumple con los requisitos del ejercicio. Si deseas mejorar la legibilidad, podrías considerar formatear el promedio a un número con un decimal, utilizando String.format o System.out.printf, por ejemplo:

System.out.printf("El estudiante tuvo un promedio de %.1f y fue aprobado.%n", prom);

Esto asegurará que el promedio se muestre con un solo decimal, tal como en los ejemplos de salida esperada.

¡Espero haber ayudado y buenos estudios!