jueves, 15 de octubre de 2015

Sacar promedio en java usando JOptionPane y DecimalFormat















// Programa del promedio de una clase mediante la repetición controlada por centinela en java.
import java.text.DecimalFormat;  // clase para dar formato a los números
import javax.swing.JOptionPane;
public class promedio {
public static void main( String args[] )
{
int total;           // suma de las calificaciones
int contadorCalif;   // número de calificaciones introducidas
int calificacion;    // valor de la calificación
double promedio;  // número con punto decimal para el promedio
String cadenaCalif;  // calificación introducida por el usuario

// fase de inicialización
total = 0;         // incializar el total
contadorCalif = 0;  // inicializar contador de ciclo

// fase de procesamiento
// obtener la primera calificación del usuario
cadenaCalif = JOptionPane.showInputDialog("Escriba calificación como entero o -1 para salir:" );

// convertir cadenaCalif en int
calificacion = Integer.parseInt( cadenaCalif );

// iterar hasta que el usuario introduzca el valor centinela
while ( calificacion != -1 )
{
total = total + calificacion; // sumar calificacion al total
contadorCalif = contadorCalif + 1; // incrementar el contador

// obtener siguiente calificación del usuario
cadenaCalif = JOptionPane.showInputDialog("Escriba calificación como entero o -1 para salir:" );

// convertir cadenaCalif en int
calificacion = Integer.parseInt( cadenaCalif );
} // fin de instrucción while

// fase de terminación
DecimalFormat dosDigitos = new DecimalFormat( "0.00" );
// si el usuario introdujo al menos una calificación...
if ( contadorCalif != 0 )
{
// calcular el promedio de todas las calificaciones introducidas
promedio = (double) total / contadorCalif;
// mostrar el promedio con dos dígitos de precisión
JOptionPane.showMessageDialog( null,"El promedio de la clase es " + dosDigitos.format( promedio ),"Promedio de la clase", JOptionPane.INFORMATION_MESSAGE );
} // fin de la parte if de la instrucción if...else
else // si no se introdujeron calificaciones, imprimir el mensaje apropiado
JOptionPane.showMessageDialog( null, "No se introdujeron calificaciones","Promedio de la clase", JOptionPane.INFORMATION_MESSAGE );
System.exit( 0 );  // terminar la aplicación
} // fin de main
} // fin de la clase Promedio