Академический Документы
Профессиональный Документы
Культура Документы
Actividades 04
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 04
Autor
r_oramas@hotmail.com
Versin
1.0.0
Fecha
2011
Tabla de contenidos
Instrucciones de control: parte 1............................................................................................................................. 4
Instruccin de seleccin simple if...................................................................................................................... 5
Instruccin de seleccin doble if...else.............................................................................................................. 5
Los tipos booleanos........................................................................................................................................... 7
Revisin de dos condiciones o ms................................................................................................................... 7
El operador NOT................................................................................................................................................ 8
Instrucciones if...else anidadas.......................................................................................................................... 8
Manejo de diferentes condiciones: if...else if................................................................................................... 10
Operador de asignacin condicional................................................................................................................ 10
La clase Cuenta............................................................................................................................................... 11
Instruccin de repeticin while......................................................................................................................... 13
Raz cuadrada de un cuadrado perfecto, versin 1.0......................................................................................14
Raz cuadrada de un cuadrado perfecto, versin 1.1......................................................................................15
Repeticin controlada por un contador............................................................................................................ 15
Repeticin controlada por un centinela............................................................................................................ 17
Instrucciones de control anidadas................................................................................................................... 20
Operadores de incremento y decremento....................................................................................................... 21
Tipos primitivos................................................................................................................................................ 22
if( condicin )
instrucciones;
La instruccin ifcasi siempre hace la revisin utilizando un operador relacional. Si el resultado de la revisin
es verdadero, entonces, est instruccin ejecuta las instrucciones que siguen.
Ejemplo: Calificacion.java
//If simple, versin 1.0
public class Calificacion
{
public static void main( String[] args )
{
int calif = 95;
Ejemplo: Calificacion.java
//If simple con bloque de cdigo, versin 1.1
public class Calificacion
{
public static void main( String[] args )
{
int calif = 95;
ProfesorJava 2011
Calificacion.java
//If...else, versin 1.2
public class Calificacion
{
public static void main( String[] args )
{
int calif = 95;
Calificacion.java
//If...else, versin 1.3
public class Calificacion
{
public static void main( String[] args )
{
int calif = 95;
if( calif > 90 )
{
System.out.println( "Felicidades, sacaste una A!" );
System.out.printf( "Tu calificacin es %d", calif );
}
else
{
System.out.println(
"Necesitas estudiar con el ProfesorJava!" );
ProfesorJava 2011
System.out.println(
"Adems de hacer muchos programas en Java." );
}
}
}
//fin del mtodo main
//fin de la clase Calificacion
Adivinanza.java
//Ilustra el concepto de bloques
//Un juego de adivinanza. Que nmero estoy pensando.
import java.util.Random;
import java.util.Scanner;
public class Adivinanza
{
public static void main ( String[] args )
{
final int MAX = 10;
int respuesta, adivina;
Random generador = new Random();
Scanner entrada = new Scanner( System.in );
respuesta = generador.nextInt( MAX ) + 1;
System.out.printf(
"Estoy pensando un nmero entre 1 y %d.
respuesta );
adivina = entrada.nextInt();
if ( respuesta == adivina )
System.out.println( "Acertaste, felicidades!" );
else
{
System.out.println( "No pens ese nmero." );
System.out.printf( "Mi nmero fue %d", respuesta );
}
}
//fin del mtodo main
//fin de la clase Adivinanza
Mascotas.java
//Ilustra el uso de los tipos booleanos
public class Mascotas
{
ProfesorJava 2011
if( tengoPerro )
System.out.println( "Los perros son fantsticos." );
if( tengoGato )
System.out.println( "Los gatos son bonitos." );
}
//fin del mtodo main
//fin de la clase Mascotas
Mascotas.java
//Operadores lgicos, versin 1.1
public class Mascotas
{
public static void main( String[] args )
{
boolean tengoPerro = true;
boolean tengoGato = false;
if( tengoPerro )
System.out.println( "Los perros son fantsticos." );
if( tengoGato )
System.out.println( "Los gatos son bonitos." );
El operador NOT
El programa ilustra el uso del operador NOT.
Mascotas.java
//Operadores not, versin 1.2
public class Mascotas
{
public static void main( String[] args )
ProfesorJava 2011
{
boolean tengoPerro = true;
boolean tengoGato = false;
if( !tengoPerro )
System.out.println( "Debera comprar un perro." );
if( !tengoGato )
System.out.println( "Debera comprar un gato." );
}
//fin del mtodo main
//fin de la clase Mascotas
MenorDeTres.java
//Encuentra el menor de tres nmeros enteros.
import java.util.Scanner;
public class MenorDeTres
{
public static void main ( String[] args )
{
int num1, num2, num3, min = 0;
Scanner entrada = new Scanner( System.in );
System.out.println (
"Ingresa tres nmeros separados por un espacio: " );
num1 = entrada.nextInt();
num2 = entrada.nextInt();
num3 = entrada.nextInt();
ProfesorJava 2011
10
Calificacion.java
//If...else, versin 1.4
public class Calificacion
{
public static void main( String[] args )
{
int calif = 95;
Calificacion.java
//If...else, versin 1.5
public class Calificacion
{
public static void main( String[] args )
{
int calif = 95;
una A!" );
una B!" );
una C!" );
una D!" );
una F!" );
ProfesorJava 2011
);
C!" );
una D!" );
una F!" );
NumeroMayor.java
//Ilustra el uso del operador ternario
import java.util.Scanner;
public class NumeroMayor
{
public static void main( String[] args )
{
Scanner entrada = new Scanner( System.in );
System.out.print( "Introduce el primer nmero:? " );
int numeroUno = entrada.nextInt();
System.out.print( "Introduce el segundo nmero:? " );
int numeroDos = entrada.nextInt();
int mayor = ( numeroUno > numeroDos ) ? numeroUno : numeroDos;
La clase Cuenta
La clase Cuenta ilustra los conceptos mencionados anteriormente.
Cuenta.java
//La clase Cuenta
public class Cuenta
{
private double saldo;
private String propietario;
private boolean activa;
//Constructor
public Cuenta( String nombre, double saldoInicial )
{
propietario = nombre;
saldo = saldoInicial;
asignaActiva( true );
}
//fin del constructor Cuenta
//abona (suma) un monto a la cuenta
public void abonar( double monto )
ProfesorJava 2011
11
saldo = saldoNuevo;
}
//fin del mtodo retirar
ProfesorJava 2011
12
13
PruebaCuenta.java
//La clase PruebaCuenta
public class PruebaCuenta
{
//el mtodo main empieza la ejecucin del programa
public static void main( String[] args )
{
//crea objeto Cuenta
Cuenta cuenta = new Cuenta( "Profesor Java", 50.00 );
//deposita un monto a la cuenta
cuenta.abonar( 150 );
cuenta.retirar( 20 );
//muestra el saldo
System.out.printf( "Saldo de cuenta: $%.2f\n",
cuenta.getSaldo() );
//cierra la cuenta
cuenta.cierra();
}
//fin del mtodo main
//fin de la clase PruebaCuenta
Suma.java
//Instruccin while.
public class Suma
{
public static void main( String[] args )
ProfesorJava 2011
{
int suma = 0;
int numero = 1;
Contador.java
//Instruccin while
public class Contador
{
public static void main(String args[])
{
int contador = 10;
while( contador >= 0 )
{
System.out.println( contador );
contador = contador - 1;
}
System.out.println( "Despegue....fuera!!" );
}
//fin del mtodo main
}
//fin de la clase Contador
RaizCuadrada.java
//La clase RaizCuadrada.java
import java.util.Scanner;
public class RaizCuadrada
{
public static void main( String[] args )
{
int raiz = 0;
Scanner entrada = new Scanner( System.in );
ProfesorJava 2011
14
//lectura
System.out.print( "Dame un nmero entero? " );
int numero = entrada.nextInt();
//proceso
while( raiz * raiz <= numero )
raiz = raiz + 1;
//salida
System.out.printf( "La raz cuadrada de %d es %d",
numero, raiz );
}
//fin del mtodo main
//fin de la clase RaizCuadrada
RaizCuadrada.java
//La clase RaizCuadrada.java
import java.util.Scanner;
public class RaizCuadrada
{
public static void main( String[] args )
{
int raiz = 0;
Scanner entrada = new Scanner( System.in );
//lectura
System.out.print( "Dame un nmero entero? " );
int numero = entrada.nextInt();
//proceso y salida
if( numero >= 0 )
{
//proceso
while( raiz * raiz < numero )
raiz = raiz + 1;
if( raiz * raiz != numero )
System.out.printf( "%d no es cuadrado perfecto\n",
numero );
else
System.out.printf( "La raz cuadrada de %d es %d",
numero, raiz );
}
else
System.out.printf( "%d es un nmero negativo\n", numero );
ProfesorJava 2011
15
}
//fin del mtodo main
//fin de la clase RaizCuadrada
LibroCalificaciones.java
//La clase LibroCalificaciones que resuelve el problema del promedio de
//la clase, usando la repeticin controlada por un contador
import java.util.Scanner;
//el programa utiliza la clase Scanner
public class LibroCalificaciones
{
private String nombreDelCurso; //nombre del curso para este
//LibroCalificaciones
//el constructor inicializa a nombreDelCurso
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 setNombreDelCurso
//mtodo para obtener el nombre del curso
public String getNombreDelCurso()
{
return nombreDelCurso;
//almacena el nombre del curso
}
//fin del mtodo getNombreDelCurso
//muestra un mensaje de bienvenida al usuario de LibroCalificaciones
public void mostrarMensaje()
{
//obtenerNombreDelcurso obtiene el nombre del curso
System.out.printf(
"Bienvenido al Libro de Calificaciones para\n%s!\n\n" ,
getNombreDelCurso() );
}
//fin del mtodo mostrarMensaje
//determina el promedio de un nmero arbitrario de calificaciones
public void determinarPromedioClase()
{
//crea objeto Scanner para obtener la entrada de la
ProfesorJava 2011
16
//ventana de comandos
Scanner entrada = new Scanner( System.in );
int total; //suma de las calificaciones escritas por el usuario
int contadorCalif; //nmero de la siguiente calificacin
//a introducir
int calificacion;
//valor de la calificacin escrita por
//el usuario
double promedio;
//nmero con punto decimal para el promedio
//fase de inicializacin
total = 0;
contadorCalif = 1; //inicializa el contador del ciclo
//fase de procesamiento
while( contadorCalif <= 10 ) //itera 10 veces
{
System.out.print( "Escriba la calificacin:" );
calificacion = entrada.nextInt();
//lee calificacin
//del usuario
total = total + calificacion;
//suma calificacion al total
contadorCalif = contadorCalif + 1; //incrementa contador en 1
}
//fin de while
//fase de terminacin
promedio = total / 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( "Webinar Java" );
ProfesorJava 2011
17
LibroCalificaciones.java
//La clase LibroCalificaciones que resuelve el problema del promedio de
//la clase, usando la repeticin controlada por un contador
import java.util.Scanner;
//el programa utiliza la clase Scanner
public class LibroCalificaciones
{
private String nombreDelCurso; //nombre del curso para este
//LibroCalificaciones
//El constructor inicializa a nombreDelCurso
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 setNombreDelCurso
//mtodo para obtener el nombre del curso
public String getNombreDelCurso()
{
return nombreDelCurso;
//almacena el nombre del curso
}
//fin del mtodo getNombreDelCurso
//muestra un mensaje de bienvenida al usuario de LibroCalificaciones
public void mostrarMensaje()
{
//esta instruccin llama a getNombreDelCurso para obtener el
//nombre del curso que representa este LibroCalificaciones
System.out.printf(
ProfesorJava 2011
18
//fase de terminacin
//si el usuario introdujo por lo menos una calificacion
if( contadorCalif != 0 )
{
//calcula el promedio de todas las calificaciones introducidas
promedio = (double)total / contadorCalif;
//muestra el total y el promedio
//(con dos digitos de precisin)
System.out.printf(
ProfesorJava 2011
19
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( "Webinar Java" );
//muestra mensaje de bienvenida
miLibroCalificaciones.mostrarMensaje();
Analisis.java
//Anlisis de los resultados de un examen
import java.util.Scanner;
//esta clase utiliza la clase Scanner
public class Analisis
{
public void procesarResultadosExamen()
{
ProfesorJava 2011
20
PruebaAnalisis.java
//Programa de prueba para la clase Analisis.
public class PruebaAnalisis
{
public static void main( String[] args )
{
Analisis aplicacion = new Analisis();
ProfesorJava 2011
21
aplicacion.procesarResultadosExamen();
}
//fin del mtodo main
//fin de la clase PruebaAnalisis
Incremento.java
//Operadores de preincremento y postincremento
public class Incremento
{
public static void main( String[] args )
{
int c;
//demuestra el operador de preincremento
c = 5; //asigna 5 a c
System.out.println( c );
//imprime 5
System.out.println( c++ ); //imprime 5, despus postincrementa
System.out.println( c ); //imprime 6
System.out.println();
Tipos primitivos
El programa ilustra los tipos de datos integrales.
TiposIntegrales.java
//La clase TiposEnteros.java
public class TiposIntegrales
{
public static void main( String[] args )
{
byte edadJuan = 20;
short sueldoBase = 1980;
int habitantes = 4000000;
//32 bits por default
long estrellas = 5000000000L;
ProfesorJava 2011
22
System.out.println( estrellas );
}
//fin del mtodo main
//fin de la clase TiposEnteros
TiposDecimales.java
//La clase TiposDecimales.java
public class TiposDecimales
{
public static void main( String[] args )
{
float piezaPan = 2.87f; //32 bits
float kiloQueso = 10.50f;
float bocadillo = piezaPan + kiloQueso * 0.15f;
double numeroHormigas = 6e+100;
double numeroIngredientes = 6d; //64 bits
double numeroSabores = 12.7;
//64 bits, por default
System.out.println( numeroSabores );
}
//fin del mtodo main
//fin de la clase TiposDecimales
TipoChar.java
//La clase TipoChar.java
public class TipoChar
{
public static void main( String[] args )
{
char a = 'a';
char A = 'A';
char B = (char)( A + 1 );
System.out.println( B );
}
//fin del mtodo main
//fin de la clase TipoChar
ProfesorJava 2011
23