Está en la página 1de 5

UNIVERSIDAD DE EL SALVADOR PROGRAMACION III

1 CICLO II/2010
UNIVERSIDAD DE EL SALVADOR
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS
PROGRAMACIN III


LABORATORIO No. 4:
Estructuras de Control y Excepciones en Java

Objetivo:
El objetivo de esta gua es que el estudiante conozca cmo construir estructuras
selectivas,ciclos repetitivos y excepcionesen JAVA.
Instrucciones:
Digite, compile y ejecute los siguientes programas de JAVA. Considere que los ejemplos que
se proporcionan podran contener errores y necesitar de algunas instrucciones adicionales.

1) SENTENCIA if
Permite a un programa tomar una decisin para ejecutar una accin u otra, basndose en el
resultado verdadero o falso de una expresin.

importjavax.swing.JOptionPane;
public class CMenor {
//menor de 3 numeros a, b y c
public static void main(String []args){
float a, b, c, menor;
StringprimerNumero, segundoNumero, tercerNumero;
//Leer los valores de a, b, y c
primerNumero = JOptionPane.showInputDialog("Digite el primer nmero: " );
segundoNumero = JOptionPane.showInputDialog("Digite el segundo nmero: " );
tercerNumero = JOptionPane.showInputDialog("Digite el tercer nmero: " );
a = Float.parseFloat(primerNumero);
b = Float.parseFloat(segundoNumero);
c = Float.parseFloat(tercerNumero);

if (a < b){
if (a < c)
menor = a;
else
menor = c;
}
else{
if (b > c)
menor = b;
else
menor = c;
}
System.out.println("Menor:"+menor);
} //fin de main
} // fin de clase





UNIVERSIDAD DE EL SALVADOR PROGRAMACION III
2 CICLO II/2010
2) SENTENCIA WHILE
La sentencia while ejecuta una sentencia simple o compuesta, cero o ms veces,
dependiendo del valor de una expresin lgica.

/* Programacontador Simple*/
importjavax.swing.JOptionPane;

public class Contador{
public static void main (String args[]){
int alumno=1, aprobado=0;
double nota1;
StringprimerNota;

while (alumno<=5){

primerNota = JOptionPane.showInputDialog("Digite la nota del alumno: " );

nota1 = Double.parseDouble(primerNota);
if (nota1 > 5.99){
aprobado ++;
}//fin del if

alumno++;
}//fin del while
JOptionPane.showMessageDialog(null, "El numero de aprobados es: " +
aprobado,"Resultados del examen", JOptionPane.INFORMATION_MESSAGE );
}// fin del main
}// fin de la clase

3) APLICACIONES DEL FOR
La sentencia for permite ejecutar una sentencia simple o compuesta, repetidamente un
nmero de veces conocido.

/* Programa for*/
publicclass continuar
{
public static void main (String args[]){
for(int i = 1; i <= 10; i++) {
System.out.println(contando+i);
}// fin del for
}//fin del main
}// fin de la clase

4) APLICACIONES FOR Y SWITCH(BUCLES ANIDADOS)
La sentencia switch permite ejecutar una de varias acciones, en funcin del valor de una
expresin. Es una sentencia especial para decisiones mltiples.

/* Programaciclos*/
public class ciclos{
public static void main (String args[]){
int a=1;
String dia;
for(intnum_dia=1; num_dia<12;num_dia++){
switch(num_dia){
case 1 : dia="Lunes"; break;
case 2 : dia="Martes"; break;
case 3 : dia="Miercoles"; break;
case 4 : dia="Jueves"; break;
UNIVERSIDAD DE EL SALVADOR PROGRAMACION III
3 CICLO II/2010
case 5 : dia="Viernes"; break;
case 6 : dia="Sabado"; break;
case 7 : dia="Domingo"; break;
default : dia="Que Dia es Hoy?"; break;
}// fin del switch
System.out.println ("Hoy es"+dia+"el dia N"+num_dia+"de la Semana");
}//fin del for
}// fin del main
}//fin de la clase

5. EJEMPLO DE UNA APLICACIN DE JAVA QUE UTILIZA VENTANAS.

//Analisis de los resultados de un examen
importjavax.swing.*;
importjava.awt.Graphics;

public class Analisis extends JApplet{
String salida;//cadena de salida.
publicvoidinit(){
//iniciar variables en las declaraciones
int aprobados = 0;//numero de aprobados
int reprobados = 0;//numero de reprobados
intcontadorEstudiantes = 1;//contador de estudiantes
int resultado;//resultado de un examen
String entrada;//valor introducido por el usuario

//procesar 10 estudiantes utilizando un ciclo
while ( contadorEstudiantes<= 10 ){
//pedir al usuario la entrada del valor a traves
//de una ventana de entrada
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
reprobados = reprobados + 1;
//incrementar contador de estudiantes para que el ciclo termine
//eventualmente
contadorEstudiantes++;
} //fin del while

//fase de terminacin: preparar y mostrar resultados
salida = " Aprobados: " + aprobados + "\n Reprobados: " +
reprobados;
//mostrar los resultados en la ventana de mensaje
JOptionPane.showMessageDialog(null, salida,"Analisis de
resultados de examen",JOptionPane.INFORMATION_MESSAGE );
} //fin de init


public void paint(Graphics g){
super.paint(g);
g.drawRect(15,10,270,20) ;
g.drawString(salida,25,25);
}//fin del paint
} //fin de clase Analisis


UNIVERSIDAD DE EL SALVADOR PROGRAMACION III
4 CICLO II/2010
Si se ejecuta con comandos, es necesario crear el archivo HTML siguiente (Analisis.html):
<applet code=Analisis.class width=300 height=170></applet>

Luego Ejecutar el Comando: Appletviewer Analisis.html

6. EJEMPLO DE EXCEPCION GENERADA Y CONTROLADA POR PROGRAMADOR.

public class excepcionapp1 {
public static void main(String[] args) {
String str1="12";
String str2="0";
String respuesta;
long numerador, denominador, cociente;
try{
numerador=Integer.parseInt(str1);
denominador=Integer.parseInt(str2);
cociente=numerador/denominador;
respuesta=String.valueOf(cociente);
}catch(NumberFormatException ex){
respuesta="Se han introducido caracteres no numricos";
System.out.println(respuesta);

}catch(ArithmeticException ex){
//Captura de mensaje generado por Java
respuesta=ex.getMessage();
System.out.println(respuesta);
}

System.out.println("Esto tambien se imprime");

}
}

Agregue una sentencia return; en cada bloque catch y vea que sucede.
Luego adicione despus del ltimo bloque catch el siguiente cdigo:
finally{
System.out.println("Esto tambien se imprime");
}// ahora vea que sucede

EJERCICIOS PROPUESTOS

Realice programas en Java para los siguientes enunciados:
1. Disee un algoritmo que imprima en orden descendente 3 nmeros ledos.


2. Escriba un algoritmo que obtenga la suma e imprima adems los trminos de la siguiente
serie:

2, 5, 7, 10, 12, 15, 17, ..., 1800

3. Disee un algoritmo que dados el peso y la altura de N personas que pertenecen a un
departamento de la repblica; obtenga el promedio del peso y de la altura de esta poblacin.

4. Una tienda ha puesto en oferta la venta de un producto, ofreciendo 15% de descuento por la
compra de 3 docenas y 10% en caso contrario. Adems por la compra de ms de 3 docenas se
UNIVERSIDAD DE EL SALVADOR PROGRAMACION III
5 CICLO II/2010
obsequia una unidad por cada docena en exceso sobre 3. Disee un programa que determine
el monto de la compra, el monto de descuento y el nmero de unidades de obsequio para
cada uno de los 10 clientes que se atendieron en el da.

5. Una compaa dedicada al alquiler de automviles cobra $30.00 hasta un mximo de 300 Km
de distancia recorrida. Para ms de 300 y hasta 1000 Km cobra $30.00 ms un monto
adicional de $0.15 por cada Kilmetro en exceso sobre 300. Para ms de 1000 Km cobra $30
ms un monto de $0.10 por cada Kilmetro en exceso de 1000. Disee un programa que
calcule el monto a pagar por cada automvil cobrado en un da de trabajo.

6. Se tiene un grupo de datos relativos a los elementos de la tabla peridica de qumica. Por
cada elemento se ingresa su nombre, su conductividad elctrica y su conductividad trmica.
Disee un algoritmo para calcular lo siguiente:
Los dos principales elementos conductores de la electricidad y el calor.
Los dos peores elementos conductores de la electricidad y el calor.

También podría gustarte