Académique Documents
Professionnel Documents
Culture Documents
Actividades 05
Descargo de responsabilidad
La informacin contenida en este documento se encuentra bajo una licencia Creative Commons Atribucin-No
Comercial 3.0 Unported. Este documento contiene las actividades de apoyo para el curso PJ100 Curso
Programador Java.
Titulo
Manual de actividades 05
Autor
r_oramas@hotmail.com
Versin
1.0.0
Fecha
2011
Tabla de contenidos
Instrucciones de control: parte 2............................................................................................................................. 4
Repeticin controlada por contador................................................................................................................... 5
Instruccin de repeticin for............................................................................................................................... 5
Aplicacin: sumar los enteros pares del 2 al 20................................................................................................. 6
Aplicacin: clculo del inters compuesto......................................................................................................... 6
Instruccin de repeticin do...while.................................................................................................................... 7
Instruccin de seleccin mltiple switch............................................................................................................ 8
Instrucciones break y continue........................................................................................................................ 12
Operadores lgicos.......................................................................................................................................... 14
Instrucciones de control anidadas................................................................................................................... 15
ContadorWhile.java
//Repeticin controlada con contador.
public class ContadorWhile
{
public static void main( String[] args )
{
int contador = 1;
//declara e inicializa la variable de control
Otra versin del programa. El cdigo es ms conciso pero es recomendable mantener nuestros cdigos lo ms
simple que se pueda.
ContadorWhile.java
//Repeticin controlada con contador.
public class ContadorWhile
{
public static void main( String[] args )
{
int contador = 0;
//declara e inicializa la variable de control
ContadorFor.java
//Repeticin controlada con contador.
public class ContadorFor
{
ProfesorJava 2011
Suma.java
//Sumar enteros con la instruccin for
public class Suma
{
public static void main( String[] args )
{
int total = 0; //inicializa el total
//total de los enteros del 2 al 20
for( int numero = 2; numero <= 20; numero += 2 )
total += numero;
Interes.java
//Calculo del inters compuesto con for.
public class Interes
{
public static void main( String[] args )
{
double monto;
//Monto depositado al final de cada ao
double principal = 1000.0;
//monto inicial antes de los
intereses
double tasa = 0.05; //tasa de inters
ProfesorJava 2011
//muestra el ao y el monto
System.out.printf( "%4d%,20.2f\n", ao, monto );
}
//fin de for
}
//fin de main
//fin de la clase Interes
En el ejemplo utilizamos el mtodo static de la clase Math para realizar el clculo del inters compuesto.
PruebaDoWhile.java
//La instruccin de repeticin do...while.
public class PruebaDoWhile
{
public static void main( String[] args )
{
int contador = 1; //inicializa contador
do
{
El siguiente programa continua su ejecucin hasta que se obtiene de manera aleatoria un tres.
EncuentraUnTres.java
//Ilustra el uso de la estructura do...while.
public class EncuentraUnTres
{
public static void main( String[] args ) {
int numero;
ProfesorJava 2011
do
{
numero = ( int )( Math.random() * 20 ) + 1;
System.out.println( numero );
}
while( numero != 3 );
System.out.println(
"El programa ha terminado, he encontrado un 3." );
} //fin del mtodo main
//fin de la clase EncuentraUnTres
SwitchDemo.java
//Programa que ilustra el uso de la estructura switch
public class SwitchDemo
{
public static void main(String[] args) {
int mes = 8;
switch (mes) {
case 1: System.out.println( "Enero" );break;
case 2: System.out.println( "Febrero" );break;
case 3: System.out.println( "Marzo" );break;
case 4: System.out.println( "Abril" );break;
case 5: System.out.println( "Mayo" );break;
case 6: System.out.println( "Junio" );break;
case 7: System.out.println( "Julio" );break;
case 8: System.out.println( "Agosto" );break;
case 9: System.out.println( "Septiembre" );break;
case 10: System.out.println( "Octubre" );break;
case 11: System.out.println( "Noviembre" );break;
case 12: System.out.println( "Diciembre" );break;
default: System.out.println( "Mes invlido." );break;
}
}
//fin del mtodo main
//fin de la clase SwitchDemo
LibroCalificaciones.java
//La clase LibroCalificaciones usa la instruccin switch para contar
//las calificaciones A, B, C, D y F
ProfesorJava 2011
import java.util.Scanner;
//el programa utiliza la clase Scanner
public class LibroCalificaciones
{
private String nombreDelCurso; //nombre del curso
private int total; //suma de las calificaciones
private int contadorCalif; //nmero de calificaciones introducidas
private int aCuenta;
//cuenta de calificaciones A
private int bCuenta;
//cuenta de calificaciones B
private int cCuenta;
//cuenta de calificaciones C
private int dCuenta;
//cuenta de calificaciones D
private int fCuenta;
//cuenta de calificaciones F
//el constructor inicializa a nombreDelCurso
//las variables de tipo int se inicializan en 0 de manera
//predeterminada
public LibroCalificaciones( String nombre )
{
nombreDelCurso = nombre;
//inicializa el nombre del curso
}
//fin del constructor
//mtodo para establecer el nombre del curso
public void setNombreDelCurso( String nombre )
{
nombreDelCurso = nombre;
//almacena el nombre del curso
}
//fin del mtodo establecerNombreDelCurso
//mtodo para obtener el nombre del curso
public String getNombreDelCurso()
{
return nombreDelCurso;
//almacena el nombre del curso
}
//fin del mtodo obtenerNombreDelCurso
//muestra un mensaje de bienvenida al usuario de LibroCalificaciones
public void mostrarMensaje()
{
//esta instruccin llama a obtenerNombreDelCurso para obtener el
//nombre del curso que representa este LibroCalificaciones
System.out.printf(
"Bienvenido al Libro de Calificaciones para\n%s!\n" ,
getNombreDelCurso() );
}
//fin del mtodo mostrarMensaje
//introduce un nmero arbitrario de calificaciones del usuario
public void introducirCalif()
{
Scanner entrada = new Scanner( System.in );
int calificacion;
System.out.printf( "%s\n%s\n
%s\n
%s\n",
"Escriba las calificaciones enteras en el rango de 0 a 100.",
ProfesorJava 2011
ProfesorJava 2011
10
PruebaLibroCalificaciones.java
//Crea un objeto LibroCalificaciones e invoca su mtodo
//obtenerPromedioClase
public class PruebaLibroCalificaciones
{
public static void main( String[] args )
{
//Crea objeto miLibroCalificaciones de la clase
//LibroCalificaciones y
//pasa el nombre del curso al constructor
LibroCalificaciones miLibroCalificaciones =
new LibroCalificaciones(
"PJ100 Curso Programador Java");
ProfesorJava 2011
11
DiaMes.java
//Determina los das que tiene un determinado mes del ao
public class DiaMes
{
public static void main( String[] args ) {
int mes = 5;
switch( mes ) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
System.out.println(
break;
case 2:
System.out.println(
break;
case 4:
case 6:
case 9:
case 11:
System.out.println(
break;
default:
System.out.println(
break;
}
} //fin del mtodo main
//fin de la clase DiaMes
PruebaBreak.java
//La instruccin break para salir de una instruccin for.
public class PruebaBreak
{
public static void main( String[] args )
{
int cuenta; //la variable de control tambin se usa
ProfesorJava 2011
12
13
//itera 10 veces
El programa utiliza la instruccin continue para terminar una iteracin de una instruccin for.
PruebaContinue.java
//Instruccin continue para terminar una iteracin de una instruccin for.
public class PruebaContinue
{
public static void main( String[] args )
{
for( int cuenta = 1; cuenta <= 10; cuenta++ )
//itera 10 veces
{
if( cuenta == 5 ) //si cuenta es 5,
continue; //omite el resto del cdigo en el ciclo
El programa cuenta los nmeros que no son mltiplos de nueve del 1 al 50 para ello utiliza un ciclo for y
continue.
Multiplos.java
//Ejemplo de la instruccin continue.
public class Multiplos
{
public static void main( String[] args )
{
int mult9 = 0;
for( int i = 1; i <= 50; i++ )
{
if( ( i % 9 ) != 0 )
//si el residuo no es 0
{
//entonces no es un mltiplo
continue;
ProfesorJava 2011
14
}
//fin instruccin if
mult9 = mult9 + 1;
}
//fin instruccin for
System.out.printf( "%d multiplos 9", mult9 );
}
//fin del mtodo main
//fin de la clase Multiplos
Operadores lgicos
El programa demuestra el uso de los operadores lgicos y lgicos booleanos; para ello se produce su tabla de
verdad.
OperadoresLogicos.java
//Los operadores lgicos
public class OperadoresLogicos
{
public static void main( String[] args )
{
//crea tabla de verdad para el operador && (AND condicional)
System.out.printf( "%s\n%s: %b\n%s: %b\n%s: %b\n%s: %b\n\n",
"AND condicional (&&)", "false && false", ( false && false),
"false && true", ( false && true ),
"true && false", ( true && false ),
"true && true", ( true && true) );
//crea tabla de verdad para el operador || (OR condicional)
System.out.printf( "%s\n%s: %b\n%s: %b\n%s: %b\n%s: %b\n\n",
"OR condicional (||)", "false || false", ( false || false),
"false || true", ( false || true ),
"true || false", ( true || false ),
"true || true", ( true || true) );
//crea tabla de verdad para el operador & (AND lgico booleano)
System.out.printf( "%s\n%s: %b\n%s: %b\n%s: %b\n%s: %b\n\n",
"AND lgico booleano (&)", "false & false", ( false & false),
"false & true", ( false & true ),
"true & false", ( true & false ),
"true & true", ( true & true) );
//crea tabla de verdad para el operador | (OR lgico booleano)
System.out.printf( "%s\n%s: %b\n%s: %b\n%s: %b\n%s: %b\n\n",
"OR lgico booleano (|)", "false | false", ( false | false),
"false | true", ( false | true ),
"true | false", ( true | false ),
"true | true", ( true | true) );
//crea tabla de verdad para el operador ^
//(OR exclusivo lgico booleano)
ProfesorJava 2011
WhileAnidado.java
//Ejemplo de while anidados
public class WhileAnidado
{
public static void main( String[] args )
{
int alto = 3;
int ancho = 10;
int columna = 0;
int renglon = 0;
while( renglon < alto )
{
columna = 0;
while( columna < ancho )
{
System.out.print( "x" );
columna++;
}
System.out.println();
renglon++;
}
}
}
//fin del mtodo main
//fin de la clase WhileAnidado
ProfesorJava 2011
15
ForAnidado.java
//Programa que ilustra el uso de for anidado
import java.util.Scanner;
//el programa usa la clase Scanner
public class ForAnidado
{
public static void main( String[] args )
{
//crea el objeto Scanner para obtener la entrada del teclado
Scanner entrada = new Scanner( System.in );
System.out.println( "Programa que dibuja un rectngulo." );
System.out.println( "Escribe la base:? " ); //indicador
int base = entrada.nextInt();
//lee el nmero del usuario
System.out.println( "Escribe la altura:? " ); //indicador
int altura = entrada.nextInt();
//lee el nmero del usuario
DoWhileAnidado.java
//Programa que ilustra el uso de do...while anidado
import java.util.Scanner;
//el programa usa la clase Scanner
public class DoWhileAnidado
{
public static void main( String[] args )
{
//crea el objeto Scanner para obtener la entrada del teclado
Scanner entrada = new Scanner( System.in );
System.out.println( "Programa que dibuja un rectngulo." );
System.out.println( "Escriba la base: " ); //indicador
int base = entrada.nextInt();
//lee el nmero del usuario
System.out.println( "Escriba la altura: " ); //indicador
int altura = entrada.nextInt();
//lee el nmero del usuario
int columna = 0;
int renglon = 0;
do
ProfesorJava 2011
16
{
columna = 0;
do
{
System.out.print( 'x' );
columna++;
}
while ( columna < base );
System.out.println();
renglon++;
}
while ( renglon < altura );
}
//fin del mtodo main
//fin de la clase DoWhileAnidado
TablaMultiplicar.java
//Imprime la tabla de multiplicar de un nmero n
public class TablaMultiplicar
{
public void imprimirTabla( int n )
{
System.out.printf( "Tabla del %d\n.", n );
for( int i = 1; i <= 10; i++ )
System.out.printf( "%d * %d = %d\n", n, i, ( n * i ) );
}
//fin del mtodo imprimirTabla
}
//fin de la clase TablaMultiplicar
La clase PruebaTablaMultiplicar.java usa a la clase TablaMultiplicar.java
TablaMultiplicar.java
//Prueba a la clase TablaMultiplicar.java
import java.util.Scanner;
public class PruebaTablaMultiplicar
{
public static void main( String[] args )
{
Scanner entrada = new Scanner( System.in );
System.out.print(
"Dame el nmero de la tabla de multiplicar:? " );
ProfesorJava 2011
17
tabla.imprimirTabla( numero );
}
//fin del mtodo main
//fin de la clase PruebaTablaMultiplicar
TablaMultiplicar.java
//Imprime tablas de multiplicar
public class TablaMultiplicar
{
public void imprimirTabla( int n )
{
System.out.printf( "Tabla del %d\n\n", n );
for( int i = 1; i <= 10; i++ )
System.out.printf( "%d * %d = %d\n", n, i, ( n * i ) );
}
//fin del mtodo imprimirTabla
public void imprimirTablas()
{
System.out.println( "Tablas del 1 al 10." );
TablaMultiplicar.java
//Prueba a la clase TablaMultiplicar.java
public class PruebaTablaMultiplicar
{
public static void main( String[] args )
{
TablaMultiplicar tabla = new TablaMultiplicar();
tabla.imprimirTablas();
ProfesorJava 2011
18
}
//fin del mtodo main
//fin de la clase PruebaTablaMultiplicar
ProfesorJava 2011
19