Ciclo Do - While 2: Calificaciones

Este será un ejemplo sencillo el cual consiste en digitar 5 calificaciones de un alumno y sacará su promedio, el programa dirá si el alumno es aprobado o reprobado teniendo en cuenta una calificación minima de 7, el programa debe preguntar si se quiere capturar otro alumno o salir del mismo.

 

Comenzaremos creando una nueva clase llama DoWhileCalificaciones, habilitamos la casilla del método main.

 

En este ejercicio comenzaremos declarando 4 variables una encargada de llevar el conteo de calificaciones digitadas, la segunda para llevar la suma de las calificaciones, la tercera para almacenar el promedio y la cuarta para capturar si se desea capturar otras calificaciones.

 

int prom=0, sum=0, cont=0;
        String resp="";

 

Continuamos con los ciclos:

 

do{
    cont=0; //Reiniciamos las variables en caso de repetir las calificaciones
    sum=0;
    prom=0;
    do{
        cont++;
        sum+=Integer.parseInt(JOptionPane.showInputDialog("Digita la calificación "+cont));
    }while(cont<5);
    prom=sum/cont;
    if(prom>=7)
        JOptionPane.showMessageDialog(null, "El alumno está aprobado con: "+prom);
    else
        JOptionPane.showMessageDialog(null, "El alumno está reprobado con: "+prom);
            
    resp=JOptionPane.showInputDialog("¿Desea capturar otro alumno? [S/N]");
}while(resp.equals("S") || resp.equals("s"));

 

En esta parte usamos una nueva instrucción que es el metodo equals("S"), el cual es un método para comparar cadenas ya que resp es una cadena y la leta "S" también, no se puede comparar una cadena con == puesto que este es sólo para tipos numéricos, véase comparar cadenas.

Programa en ejecución

Código completo utilizado

package pqtDoWhile;

import javax.swing.JOptionPane;

public class DoWhileCalificaciones {

    public static void main(String[] args) {
        int prom=0, sum=0, cont=0;
        String resp="";
        do{
            cont=0; //Reiniciamos las variables en caso de repetir las calificaciones
            sum=0;
            prom=0;
            do{
                cont++;
                sum+=Integer.parseInt(JOptionPane.showInputDialog("Digita la calificación "+cont));
            }while(cont<5);
            prom=sum/cont;
            if(prom>=7)
                JOptionPane.showMessageDialog(null, "El alumno está aprobado con: "+prom);
            else
                JOptionPane.showMessageDialog(null, "El alumno está reprobado con: "+prom);
            
            resp=JOptionPane.showInputDialog("¿Desea capturar otro alumno? [S/N]");
        }while(resp.equals("S") || resp.equals("s"));    
    }
}