Ejercicio 19. Calcula la nota

Realiza un programa que calcule la nota final de un estudiante, considerando por cada respuesta 5 puntos, las incorrectas restan un punto, y las no contestadas ni suman ni restan.

Para la realización de este ejercicio vamos a solicitar por teclado la introducción de tres variables tipo int: correctas, incorrectas, noContestadas

Para el desarrollo del programa, vamos a tener una variable notaFinal en la que almacenaremos el resultado obtenido de operar con la anteriores.

Aunque el enunciado no lo pide, hemos pensado que quizás el usuario, o el tipo de examen no sea directamente sobre 100, sino que puede ser cualquier otro valor… por lo que vamos a ver cual será el valor máximo al que puede optar el alumno, y mostraremos también el resultado sobre 10.

Para ello, utilizaremos las variables notaMaxima y notaSobre10 (esta será double)

También aprovecharemos para utilizar algo que hasta el momento no hemos utilizado, como es la salida con formato, y haremos que la nota final sobre diez, se muestre con dos decimales.

Para ello, a la hora de mostrar por pantalla, en vez de System.out.println(), utilizaremos System.out.printf();

El funcionamiento de la salida con formato, puedes verlo aplicado en la línea 44 de este programa, y también explicado y donde puedes encontrar el resto de formatos que se pueden utilizar en los Apuntes Java -Iniciación

package ejerciciosSecuenciales;

import java.util.Scanner;

/**
19 Ejercicios secuenciales en Java

Programa que calcula la nota final de un estudiante,
considerando que por cada respuesta correcta suma 5 puntos,
por una incorrecta resta 1 y por respuestas en blanco 0. 

@author: manolohidalgo_
@date: 02-11-19
*/

// Inicio del programa y declaración de variables:
public class Ejercicio19NotaFinal {
  public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    int notaFinal;
    int correctas;
    int incorrectas;
    int noContestadas;
    int notaMaxima;
    double notaSobre10;

// Solicitud de datos al usuario
    System.out.println("Este programa calcula la nota final de un alumno considerando que cada respuesta correcta suma 5 puntos, cada incorrecta resta un punto, y las no contestadas no se valoran.");
    System.out.print("Total de preguntas correctas: ");
    correctas = scanner.nextInt();
    System.out.print("Total de preguntas incorrectas: ");
    incorrectas = scanner.nextInt();
    System.out.print ("Total de preguntas no contestadas: ");
    noContestadas = scanner.nextInt();
    
// Realizamos Cálculos 
    notaMaxima = (correctas + incorrectas + noContestadas) * 5;
    notaFinal = (correctas*5) + (incorrectas*(-1));
// Importante realizar el casting a una de las dos variables en el momento de la división
// si no se realiza, el resultado que devolvería sería un int.
    notaSobre10 = (double)(notaFinal*10) / notaMaxima;
    
// Mostramos en pantalla
    System.out.printf("La nota final es de: " + notaFinal + ", que se corresponde con un %5.2f sobre 10", notaSobre10);
    
  }
}

Puedes acceder a este ejercicio en GitHub en este enlace

Si tienes alguna duda al respecto, alguna sugerencia o algo que no te haya quedado claro, no tienes más que escribirme en los comentarios, estoy aquí para ayudarte y aprender, ¡Nos leemos!