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

Promedio notas de una asignatura

buena tarde, envio codigo.

package one.aluracursos.condicionalesenjava.scanner;

import java.util.Scanner;

public class AprobacionAsignatura {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Digite asignatura  : ");
        String asignatura = scanner.nextLine();
        System.out.println("-----------------------");
        System.out.print("Digite nota 1 ->");
        double nota1 = scanner.nextDouble();
        System.out.print("Digite nota 2 ->");
        double nota2 = scanner.nextDouble();
        System.out.print("Digite nota 3 ->");
        double nota3 = scanner.nextDouble();
        double promedio = (nota1+nota2+nota3)/3.0;
        scanner.close();
        if(promedio>=7.0){
            System.out.println("Asignatura "+asignatura+ " APROBADA, con nota "+promedio);
        }else if(promedio>=5.0 && promedio<=6.9){
            System.out.println("Asignatura "+asignatura+ " EN RECUPERACION, con nota  "+promedio);
        }else{
            System.out.println("Asignatura "+asignatura+ " REPROBADA, con nota  "+promedio);
        }
    }
}

Por favor si coloca decimales en la captura de notas, colocar coma o punto dependiendo de su configuracion regional del equipo.

1 respuesta

Hola Rene, espero que estés bien

¡Espero que estés teniendo un buen día! Tu código parece estar bastante bien estructurado para calcular el promedio de las notas de una asignatura y determinar si el estudiante ha aprobado, está en recuperación o ha reprobado, según las reglas que mencionaste.

Solo quisiera hacer una pequeña sugerencia para mejorar la claridad de los mensajes de salida, alineándolos más con el ejemplo de salida esperada que proporcionaste. Aquí te dejo una versión ajustada de tu código:

package one.aluracursos.condicionalesenjava.scanner;

import java.util.Scanner;

public class AprobacionAsignatura {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Digite asignatura: ");
        String asignatura = scanner.nextLine();
        System.out.println("-----------------------");
        System.out.print("Digite nota 1 -> ");
        double nota1 = scanner.nextDouble();
        System.out.print("Digite nota 2 -> ");
        double nota2 = scanner.nextDouble();
        System.out.print("Digite nota 3 -> ");
        double nota3 = scanner.nextDouble();
        double promedio = (nota1 + nota2 + nota3) / 3.0;
        scanner.close();
        
        if (promedio >= 7.0) {
            System.out.printf("El estudiante tuvo un promedio de %.1f y fue aprobado en la asignatura %s.\n", promedio, asignatura);
        } else if (promedio >= 5.0 && promedio <= 6.9) {
            System.out.printf("El estudiante tuvo un promedio de %.1f y está en recuperación en la asignatura %s.\n", promedio, asignatura);
        } else {
            System.out.printf("El estudiante tuvo un promedio de %.1f y fue reprobado en la asignatura %s.\n", promedio, asignatura);
        }
    }
}

He utilizado System.out.printf para formatear la salida de manera más precisa, similar a los ejemplos de salida esperada. Así, el promedio se mostrará con un decimal, lo que puede hacer que el resultado sea más claro y profesional.

Espero que esto te ayude y que tu programa funcione perfectamente para tus necesidades. ¡Bons estudios!