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

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

(anterior) 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.

Repetición controlada por contador con la instrucción while

// Repetición controlada por contador.
import java.awt.Graphics;
import javax.swing.JApplet;
public class ContadorWhile extends JApplet
{
	// dibujar líneas en el fondo del subprograma
	public void paint( Graphics g )
	{
		super.paint( g );  // llamar al método paint heredado de JApplet
		int contador = 1;   // inicialización
		while ( contador <= 10 ) // condición de repetición
		{
			g.drawLine( 10, 10, 250, contador * 10 );
			++contador;  // incremento
		} // fin de instrucción while
	} // fin del método paint
} // fin de la clase ContadorWhile

Descargar código fuente

Repetición controlada por contador con la instrucción for

// Repetición controlada por contador con la instrucción for
import java.awt.Graphics;
import javax.swing.JApplet;
public class ContadorFor extends JApplet
{
	// dibujar líneas en el fondo del subprograma
	public void paint( Graphics g )
	{
		super.paint( g );  // llamar al método paint heredado de JApplet

		// el encabezado de la instrucción for incluye la inicialización,
		// la condición de repetición y el incremento
		for ( int contador = 1; contador <= 10; contador++ )
			g.drawLine( 10, 10, 250, contador * 10 );
	} // fin del método paint
} // fin de la clase ContadorFor

Descargar código fuente

Suma de enteros con la instrucción for

// Suma de enteros con la instrucción for.
import javax.swing.JOptionPane;
public class Suma
{
	public static void main( String args[] )
	{
		int total = 0;  // inicializar el total

		// sumar los enteros pares del 2 al 100
		for ( int numero = 2; numero <= 100; numero += 2 )
			total += numero;

		// mostrar el resultado
		JOptionPane.showMessageDialog( null, "La suma es " + total,"Suma de los enteros pares del 2 al 100",JOptionPane.INFORMATION_MESSAGE );

		System.exit( 0 );   // terminar la aplicación
	} // fin de main
} // fin de la clase Suma

Descargar código fuente

Cálculo del interés compuesto con la instrucción for

// Cálculo del interés compuesto.
import java.text.NumberFormat;  // clase para el formato numérico
import java.util.Locale;  // clase para información específica de cada país
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
public class Interes
{
	public static void main( String args[] )
	{
		double cantidad;       // cantidad depositada al final de cada año
		double principal = 1000.0;  // cantidad inicial sin intereses
		double tasa = 0.05;         // tasa de interés

		// crear NumberFormat para la moneda en dólares
		NumberFormat formatoMoneda=NumberFormat.getCurrencyInstance( Locale.US );

		// crear JTextArea para mostrar la salida
		JTextArea areaTextoSalida = new JTextArea();

		// establecer la primera línea de texto en areaTextoSalida
		areaTextoSalida.setText( "Año\tCantidad en depósito\n" );

		// calcular la cantidad en depósito para cada uno de los diez años
		for ( int anio = 1; anio <= 10; anio++ )
		{
			// calcular la nueva cantidad para el año especificado
			cantidad = principal * Math.pow( 1.0 + tasa, anio );
			// anexar una línea de texto a areaTextoSalida
			areaTextoSalida.append( anio + "\t" +formatoMoneda.format( cantidad ) + "\n" );
		}// fin de instrucción for

		// mostrar resultados
		JOptionPane.showMessageDialog( null, areaTextoSalida,"Interés compuesto", JOptionPane.INFORMATION_MESSAGE );

		System.exit( 0 );  // terminar la aplicación
	} // fin de main
} // fin de la clase Interes

Descargar código fuente

Uso de la instrucción do…while

// Uso de la instrucción do...while.
import java.awt.Graphics;
import javax.swing.JApplet;
public class PruebaDoWhile extends JApplet
{
	// dibujar líneas en el subprograma
	public void paint( Graphics g )
	{
		super.paint( g );  // llamar al método paint heredado de JApplet
		int contador = 1;   // inicializar contador

		do
		{
			g.drawOval( 110 - contador * 10, 110 - contador * 10,contador * 20, contador * 20 );
			++contador;
		}
		while ( contador <= 10 );  // fin de instrucción do...while
	} // fin del método paint
} // fin de la clase PruebaDoWhile

Descargar código fuente

Dibujar líneas, rectángulos u óvalos con base en la entrada del usuario (switch)

// Dibujar líneas, rectángulos u óvalos con base en la entrada del usuario.
import java.awt.Graphics;
import javax.swing.*;

public class PruebaSwitch extends JApplet
{
	int opcion;  // la opcion del usuario en cuanto a cuál figura dibujar

	// inicializar el subprograma, obteniendo la opción del usuario
	public void init()
	{
		String entrada;  // la entrada del usuario
		// obtener la opción del usuario
		entrada = JOptionPane.showInputDialog("Escriba 1 para dibujar líneas\n" +
			"Escriba 2 para dibujar rectángulos\n" +
			"Escriba 3 para dibujar óvalos\n" );
		opcion = Integer.parseInt( entrada );  // convertir entrada en int
	} // fin del método init
	// dibujar figuras en el fondo del subprograma
	public void paint( Graphics g )
	{
		super.paint( g );  // llamar al método paint heredado de JApplet
		for ( int i = 0; i < 10; i++ )  // iterar 10 veces (0-9)
		{
			switch ( opcion )  // determinar la figura a dibujar
			{
				case 1:  // dibujar una línea
					g.drawLine( 10, 10, 250, 10 + i * 10 );
					break;  // fin de procesamiento de case

				case 2:  // dibujar un rectángulo
					g.drawRect( 10 + i * 10, 10 + i * 10,50 + i * 10, 50 + i * 10 );
					break;  // fin de procesamiento de case

				case 3:  // dibujar un óvalo
					g.drawOval( 10 + i * 10, 10 + i * 10,50 + i * 10, 50 + i * 10 );
					break;  // fin de procesamiento de case

				default: // dibujar cadena indicando que se escribió un valor incorrecto
					g.drawString( "Se escribió un valor incorrecto",10, 20 + i * 15 );
			} // fin de instrucción switch
		} // fin de instrucción for
	} // fin del método paint
} // fin de la clase PruebaSwitch

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.

21 Comentarios | deja el tuyo

Un enlace entrante

20 Comentarios en “[código] Instrucciones de Control en Java (2)”

  1. DRM. David Ramirez dice:

    Cristian me podrias decir en donde puedo consultar todas la librerias y sus contenidos(funciones) de ellas mismas
    de java, te lo agredecere mucho .

  2. DRM. David Ramirez dice:

    Saludos, Cristian, te agradezco mucho la ayuda espero que con tu experiencia en el mundo de la informatica, vuelva a tener la destresa que tenia para programar.

    Quiero retomar mi profesion ,por circunstancias de la vida deje programar, tengo varios anos de no hacerlo pero con tu ayuda(espero contar con ella cuando me surgan udas)ue uno estudie, desarrollarremos una logica bastante buena .

    Dios te bendiga con ser una buena persona y dejar atras la envidia y presuncion que la mayoria de lo profesionistas tienen.

¡Déjanos tu comentario!