¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)
Calculadora de Notas en Java: Cálculo de Promedio, Nota Máxima y Mínima con Interfaz Gráfica

Calculadora de Notas en Java: Cálculo de Promedio, Nota Máxima y Mínima con Interfaz Gráfica

Anuncios
Publicidad

Este código implementa una calculadora de notas en Java, usando la clase JFrame para crear una interfaz gráfica. La aplicación permite al usuario ingresar una cantidad de notas, calcular la nota máxima, nota mínima y el promedio. Además, se valida que el input sea numérico, con mensajes de error si no se introduce un número adecuado.

Descripción general del código:

  1. Interfaz gráfica con JFrame: Utilizamos JFrame para construir la ventana de la calculadora. La interfaz incluye un campo de texto para ingresar el número de notas y muestra los resultados (nota máxima, mínima y promedio) mediante cuadros de diálogo (JOptionPane).
  2. Lógica de cálculo: La aplicación permite al usuario ingresar una cantidad de notas, luego calcula la nota máxima, nota mínima y promedio a partir de las notas introducidas.
  3. Manejo de errores: El programa valida que los valores introducidos sean numéricos y muestra un mensaje de error en caso de que no lo sean.
Publicidad

Código:

package Calculadora;

import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;

// La clase CalculadoraJFRAME extiende JFrame para crear la interfaz gráfica.
public class CalculadoraJFRAME extends JFrame {

    // Variables estáticas accesibles desde cualquier parte del código.
    public static double suma = 0;
    public static double promedio = 0;
    public static double max;
    public static double min;
    public static double nota;
    public static int totalNotas;
    public static int campoDeTextoListener;

    // Constructor de la clase.
    public CalculadoraJFRAME() {
        // Establecer el título de la ventana, tamaño y comportamiento al cerrarla.
        setTitle("Calculadora de Notas");
        setSize(500, 500);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        // Etiqueta de instrucciones para el usuario.
        JLabel instrucciones = new JLabel("<html>1º Ingresa el número de notas.<br>"
                + "2º Pulsa ENTER.<br>"
                + "3º Introduce las notas del 1 al 10.<br>"
                + "4º Obtén la nota más alta, la más baja y el promedio.</html>");

        // Campo de texto para ingresar el número de notas.
        JTextField campoDeTexto = new JTextField();
        campoDeTexto.setPreferredSize(new Dimension(100, 40));

        // Paneles para contener los elementos.
        JPanel panelInstrucciones = new JPanel();
        JPanel panelEntrada = new JPanel();

        panelInstrucciones.add(instrucciones);
        panelEntrada.add(campoDeTexto);

        // Añadir los paneles a la ventana.
        add(panelInstrucciones, BorderLayout.LINE_START);
        add(panelEntrada, BorderLayout.CENTER);

        // Lógica para manejar el evento al presionar ENTER.
        campoDeTexto.addActionListener((e) -> {
            try {
                // Convertir el texto del campo en un número entero (cantidad de notas).
                campoDeTextoListener = Integer.parseInt(campoDeTexto.getText());
            } catch (NumberFormatException nfe) {
                // Mostrar mensaje de error si no es un número.
                JOptionPane.showMessageDialog(null, "Debes proporcionar un valor numérico.");
                return;  // Detener ejecución si hay error.
            }

            // Inicializar valores de las notas.
            totalNotas = campoDeTextoListener;
            max = Double.MIN_VALUE;  // Valor inicial para la nota máxima.
            min = Double.MAX_VALUE;  // Valor inicial para la nota mínima.
            
            // Ciclo para ingresar las notas.
            while (campoDeTextoListener > 0) {
                campoDeTextoListener--;
                
                // Solicitar nota al usuario mediante un cuadro de diálogo.
                nota = Double.parseDouble(JOptionPane.showInputDialog(
                        CalculadoraJFRAME.this, "Introduce una nota (1-10):"));
                
                // Sumar la nota al total.
                suma += nota;

                // Determinar si la nota es la nueva máxima o mínima.
                if (nota > max) {
                    max = nota;
                }
                if (nota < min) {
                    min = nota;
                }
            }

            // Calcular el promedio.
            promedio = suma / totalNotas;

            // Mostrar los resultados.
            JOptionPane.showMessageDialog(null, "La nota máxima es: " + max);
            JOptionPane.showMessageDialog(null, "La nota mínima es: " + min);
            JOptionPane.showMessageDialog(null, "El promedio es: " + promedio);
        });
    }

    // Método main para ejecutar la aplicación.
    public static void main(String[] args) {
        // Crear una instancia de la calculadora y mostrar la ventana.
        CalculadoraJFRAME ventana = new CalculadoraJFRAME();
        ventana.setVisible(true);
    }
}

Explicación del flujo:

  1. Entrada de datos: El usuario introduce el número de notas que desea ingresar.
  2. Ingreso de notas: A través de cuadros de diálogo (JOptionPane), el usuario introduce cada una de las notas.
  3. Cálculos: El programa calcula:
    • Nota máxima: Utiliza Double.MIN_VALUE como el valor inicial más bajo para asegurar que cualquier número que se ingrese será más grande.
    • Nota mínima: Utiliza Double.MAX_VALUE como el valor inicial más alto.
    • Promedio: Se calcula sumando todas las notas y dividiendo por la cantidad total de notas.
  4. Resultados: Al finalizar, se muestran las notas máxima, mínima y el promedio en ventanas emergentes.

Ingresamos 3 notas y pulsamos ENTER:

Calculadora de Notas en Java: Cálculo de Promedio, Nota Máxima y Mínima con Interfaz Gráfica
Calculadora de Notas en Java: Cálculo de Promedio, Nota Máxima y Mínima con Interfaz Gráfica

Primera nota de 9:

Calculadora de Notas en Java: Cálculo de Promedio, Nota Máxima y Mínima con Interfaz Gráfica

Segunda nota de 2:

Calculadora de Notas en Java: Cálculo de Promedio, Nota Máxima y Mínima con Interfaz Gráfica

Tercera nota de 5:

Nota máxima:

Calculadora de Notas en Java: Cálculo de Promedio, Nota Máxima y Mínima con Interfaz Gráfica

Nota mínima:

Promedio de notas:

Calculadora de Notas en Java: Cálculo de Promedio, Nota Máxima y Mínima con Interfaz Gráfica

¿Quieres seguir aprendiendo?

ATENCIÓN: Si prefieres el código sin usar la JFRAME, puedes usar el siguiente código:

package Calculadora;

import java.util.Scanner;

/*
Calculadora de Promedios de Notas
Enunciado:
Crea un programa en Java que:

  • Pida al usuario cuántas notas quiere ingresar.
  • Permita ingresar todas esas notas (números decimales).
  • Calcule el promedio.
  • Muestre la nota más alta, la más baja y el promedio final.
    */

public class CalculadoraDePromediosDeNotas {

public static void main(String[] args) {
    // Variables
    double nota, promedio, maximo, minimo, suma = 0;
    int cantidadNotas;

    // Inicializamos los valores extremos
    maximo = Double.MIN_VALUE;
    minimo = Double.MAX_VALUE;

    // Creamos el objeto Scanner para leer datos
    Scanner sc = new Scanner(System.in);

    // Pedimos al usuario cuántas notas quiere ingresar
    System.out.print("¿Cuántas notas deseas ingresar? ");
    cantidadNotas = sc.nextInt();

    // Validamos que el número de notas sea mayor que cero
    if (cantidadNotas <= 0) {
        System.out.println("El número de notas debe ser mayor que cero.");
        return;
    }

    // Bucle para ingresar las notas
    for (int i = 1; i <= cantidadNotas; i++) {
        System.out.print("Ingresa la nota #" + i + ": ");
        nota = sc.nextDouble(); // Leemos la nota

        // Sumamos la nota al total
        suma += nota;

        // Actualizamos el máximo y mínimo
        if (nota > maximo) {
            maximo = nota;
        }
        if (nota < minimo) {
            minimo = nota;
        }
    }

    // Calculamos el promedio
    promedio = suma / cantidadNotas;

    // Mostramos los resultados
    System.out.println("\nResultados:");
    System.out.println("Nota más alta: " + maximo);
    System.out.println("Nota más baja: " + minimo);
    System.out.println("Promedio final: " + promedio);

    // Cerramos el scanner
    sc.close();
}

}

Te puede interesar:

Seguir leyendo:

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)

Deja un comentario

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)
error: Content is protected !!
Scroll al inicio
Hablemos de informática
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.