gentoo linux, java, software libre y otras hierbas
dic, 04 2007 - 2:13 pm

[código] Instrucciones de Control en Java (1)

Los ejemplos de esta sección se enfocan en el proceso de desarrollo de programas. Se exponen los tipos primitivos de instrucciones de control para la tomas de decisiones (if, else, ifelse, while, dowhile, for, switch, etc.). Los ejemplos también muestran el manejo de la repetición controlada por contador y por centinela, y se introducen los operadores de incremento, decremento y asignación de Java y las instrucciones break y switch.

Promedio de una clase mediante la repetición controlada por contador

// Programa del promedio de una clase mediante la repetición controlada por contador.
import javax.swing.JOptionPane;
public class Promedio1
{
	public static void main( String args[] )
	{
		int total;          // suma de las calificaciones introducidas por el usuario
		int contadorCalif;  // número de calificación a introducir a continuación
		int calificacion;   // valor de la calificación
		int promedio;       // promedio de calificaciones

		String cadenaCalif; // calificación introducida por el usuario

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

		// fase de procesamiento
		while ( contadorCalif <= 10 )  // iterar 10 veces
		{
			// pedir la entrada y leer la calificación del usuario
			cadenaCalif = JOptionPane.showInputDialog("Escriba la calificación como un entero: " );

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

			total = total + calificacion;            // sumar calificacion al total
			contadorCalif = contadorCalif + 1;  // incrementar el contador
		} // fin de instrucción while
		promedio = total / 10;  // división de enteros

		// mostrar el promedio de las calificaciones del examen
		JOptionPane.showMessageDialog( null, "El promedio de la clase es " + promedio,"Promedio de la clase", JOptionPane.INFORMATION_MESSAGE );
		System.exit( 0 );  // terminar el programa

	} // fin de main
} // fin de la clase Promedio1

Descargar código fuente

Promedio de una clase mediante la repetición controlada por centinela

// Programa del promedio de una clase mediante la repetición controlada por centinela.
import java.text.DecimalFormat;  // clase para dar formato a los números
import javax.swing.JOptionPane;
public class Promedio2
{
	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 Promedio2

Descargar código fuente

Análisis de los resultados de un examen utilizando while, if y else

// Análisis de los resultados de un examen.
import javax.swing.JOptionPane;
public class Analisis
{
	public static void main( String args[] )
	{
		// inicializar variables en las declaraciones
		int aprobados = 0;				// número de aprobados
		int reprobados = 0;				// número de reprobados
		int contadorEstudiantes = 1;	// contador de estudiantes
		int resultado;					// resultado de un examen
		String entrada;					// valor introducido por el usuario
		String salida;					// cadena de salida
		// procesar 10 estudiantes utilizando un ciclo controlado por contador
		while ( contadorEstudiantes <= 10 )
		{
			entrada = JOptionPane.showInputDialog("Escriba el resultado (1 = aprobado, 2 = reprobado)" );

			// convertir resultado en int
			resultado = Integer.parseInt( entrada );

			// si resultado es 1, incrementar aprobados; if...else anidado en while
			if ( resultado == 1 )
				aprobados = aprobados + 1;
			else // si resultado no es 1, incrementar reprobados
				reprobados = reprobados + 1;
			// incrementar contadorEstudiantes para que el ciclo termine eventualmente
			contadorEstudiantes = contadorEstudiantes + 1;
		} // fin de instrucción while
		// fase de terminación; preparar y mostrar resultados
		salida = "Aprobados: " + aprobados + "\nReprobados: " + reprobados;
		// determinar si aprobaron más de 8 estudiantes
		if ( aprobados > 8 )
			salida = salida + "\nAumentar colegiatura";
		JOptionPane.showMessageDialog( null, salida,
                       "Análisis de resultados del examen",JOptionPane.INFORMATION_MESSAGE );
		System.exit( 0 );  // terminar la aplicación
	} // fin de main
} // fin de la clase Analisis

Descargar código fuente

Los operadores preincremento y postdecremento

// Los operadores preincremento y postdecremento.
public class Incremento
{
	public static void main( String args[] )
	{
		int c;
		// demostrar el uso de postincremento
		c = 5;                     // asignar 5 a c
		System.out.println( c );   // imprimir 5
		System.out.println( c++ ); // imprimir 5 y después postincremento
		System.out.println( c );   // imprimir 6
		System.out.println();      // saltar una línea

		// demostrar el uso de preincremento
		c = 5;                     // asignar 5 a c
		System.out.println( c );   // imprimir 5
		System.out.println( ++c ); // preincrementar y después imprimir 6
		System.out.println( c );   // imprimir 6
	} // fin de main
} // fin de la clase Incremento

Descargar código fuente

Los ejercicios utilizados en este post están basados en ejemplos del libro Cómo programar en Java de Deitel, y por lo tanto están bajo la licencia que esta editorial disponga.

43 Comentarios | deja el tuyo

Un enlace entrante

42 Comentarios en “[código] Instrucciones de Control en Java (1)”

  1. Adelaido dice:

    Dada una calificacion que un alumno a sacado en un examen debuelva un mensaje de acuerdo con los sig. criterios.

    de 0 a 5.9 reprovado
    de 6 a 6.9 aprovado
    de 7 a 8.4 notable
    de 8.5 a 10 sobresaliente

    ——————————-

    Tambien me gustaria saber para que se utilizan cada uno de los elementos del programa.

    gracias…….

  2. Casidiablo dice:

    ¿Qué? ¿A poco quieres que te haga la tarea?

  3. jiovanni aguilar dice:

    buenas tardes yo soy nuevo en esto de la programacion de echo ya he leido algunos tutoriales y algunos libros pero aun asi me cuesta trabajo tu no sabras de alguno que sea mas dijerible

  4. zenaida dice:

    hola sabes son buenasos tus programa pero quisiera que me ayudes en programacion orientada solo a objetos………….cuidate

  5. el tero di carlo dice:

    muy interesantes los ejercicios…..aguante la patada de burro ….naty bom bom sos una diosa

  6. DILCIA dice:

    holap k bueno que te gusta programar y grax a tus comentarios ia le entiendo más a java.

  7. felipe palacio estrada dice:

    es una pagina excelente, sobre todo para personas como yo que apenas estoy en proceso de aprendizaje en java. estos ejemplos son muy buenos y creo que me van a ayudar a bastante.

  8. Julissa Gal vez Chomba dice:

    Soy nuevaen eso de la programcon en java qusiera que me ayudes desde cro por favor es de mucho interes.
    Ayudame a etender esto que para mi es de mucha importancia

  9. Carolina dice:

    Hola!

    Muchas gracias por toda la información que publicas, es de gran utilidad.

    Tengo un problemita, bajé los programas en java de esta sección (por ejemplo Promedio1.java), pero cuando lo ejecuto la ventana no se abre y sólo aparece como un ovalo en la pantalla.
    En el de la comparación de la sección anterior aparece el applet pero no me deja escribir no cerrarlo… pareciera que el applet no reconoce el teclado, ni el mouse…
    Yo utilizo ubuntu (hardy Heron 8.04), según tengo entendido el S.O. no debería importar porque java corre en la JVM…. será algún problema de librerías? o con el compilador? Es raro porque compila perfecto….

    Muchas gracias!!!!
    Carolina

  10. Cristian dice:

    La verdad yo lo he probado con varias distribuciones de Linux y funciona normal… ¿te corre en Windows?

    Un saludo.

  11. Carolina dice:

    Hola Cristian!

    Yo creo que el problema no es la distribución del linux, sino el compilador java. Acabo de ver que uso el gcj y las kibrerias que viene con él que es el compilador de gnu… tal vez las librerías difieren un poco… voy a desinstalarla e instalar la de Sun… a ve que tal… si se arregla te informo… en windows no probé….

    Gracias!

    Carolina

  12. Carolina dice:

    Hola!!!

    Efectivamente era el compilador… tenía 4 diferentes intalados en mi kubuntu… y el que tenìa por default era el gcj.
    Lo resolvì fácil con:
    $sudo update-alternatives –config java

    (allí sale la lista de compiladores posibles, indicando cual tiene por default, así que simplemente lo cambié al jre y listo).

    Gracias por todos los recursos que pones a nuestra disposición.

    Carolina

  13. juan arres valtasar dice:

    graxias amigos

  14. MUY BUENA APORTACION ,,,,,
    PERO DEBERIAN DE PONER,,,,,MAS EJEMPLOS,,,,,DE CODIGOS,,,,EN JAVA,,,,,PERO COMPILADOS,,,,HAGAN TODO LO POSIBLE,,POR SUBIR MAS PROGRAMAS……

    SALUDOS,,,,,

    CHAU,,,,,EL GENIO DE LA PROGRAMACION

¡Déjanos tu comentario!