Está en la página 1de 9

Estructuras Selectivas

Tal y como ya habamos visto en la introduccin, las estructuras selectivas son aquellas que
realizan acciones dependiendo de una condicin especificada.
Existen 4 tipos de estructuras selectivas, y son:
if (condicion){
acciones
}
if (condicion){
acciones
}
else{
acciones alternas
}
if (condicion)
acciones;
else if (condicion)
acciones;
else if (condicion)
acciones;
else if (condicion)
acciones;
else
acciones;
switch (ciclo){
case 1:
acciones;
case 2:
acciones;
case 3:
acciones;
default:
acciones;
}

Ejercicio 1
Determinar el estado de un alumno de una institucin educativa en base a el promedio de sus
notas, ingresando 3 notas: Aprobado si es mayor o igual a 14 y Desaprobado si es menor de 14.
Solucin:

Lo primero que se debe hacer es calcular el promedio del alumno, luego verificar si esta nota es
mayor o igual a 14 o menor que 14. Crear la siguiente interfaz:

4 JTextField, 3 para ingresar las notas txtNota1, txtNota2, txtNota3, txtEstado para mostrar el
estado. Ademas el JButton btnCalcular que activara el programa.
Doble clik al boton para programar su accion:
private void btnCalcularActionPerformed(java.awt.event.ActionEvent evt) {
int nota1,nota2,nota3;
double promedio;
String estado;
nota1=Integer.parseInt(txtNota1.getText());
nota2=Integer.parseInt(txtNota2.getText());
nota3=Integer.parseInt(txtNota3.getText());
promedio=(nota1+nota2+nota3)/3;
if(promedio<14)
estado="Desaprobado";
else
estado="Aprobado";
txtEstado.setText(estado);
}
Ya puede ejecutar su aplicacin:

Ejercicio 2

Calcular el consumo de una persona en una tienda comercial donde se venden pantalones,
camisas y zapatos. Si el consumidor compra ms de 5 camisas, obtiene un descuento del 5% del
importe total de las camisas, si lleva 3 pantalones el descuento es de 10% del importe de los
pantalones, y si lleva 2 o ms pares de zapatos obtiene un descuento del 50% del importe de los
zapatos. La cantidad de productos deben ser ingresados. Mostrar el descuento y el total a pagar.
Precio de los pantalones: 120, precio de las camisas: 150, y precio de los zapatos: 250.
Solucin:
Crear la siguiente interfaz:

Como vemos, hemos agregado 3 JTextField para capturar la cantidad de los precios, 1 JButton
para programar nuestra aplicacion, y un JTextArea para mostrar los resultados, ya que sern de
varias lneas:
txtPa para la cantidad de los pantalones
txtCa para la cantidad de las camisas
txtZa para la cantidad de los zapatos
btnCalcular
txaSalida para mostrar los mensajes de salida.
Entonces, doble clik al boton para programar su accin:
private void btnCalcularActionPerformed(java.awt.event.ActionEvent evt) {
int cp, cc, cz; //Cantidad Pantalones Camisas Zapatos
int subp, subc, subz, ss; //subtotales ss=Suma de Subtotales
double dsctoP=0, dsctoC=0, dsctoZ=0, sd ; //descuentos sd=suma de descuentos
// Los descuentos se inicializan porque es posible que ninguna condicion se
cumpla
double total; //total a pagar
//Capturando datos de los JTextBox
cp=Integer.parseInt(txtPa.getText());
cc=Integer.parseInt(txtCa.getText());
cz=Integer.parseInt(txtZa.getText());

//Calculando subtotales
subp=cp*120;
subc=cc*150;
subz=cz*250;
ss=subp+subc+subz;
//Calculando descuentos, aqui entran las condiciones
if (cp>3)
dsctoP=0.10*subp;
if (cc>5)
dsctoC=0.05*subc;
if (cc>=2)
dsctoZ=0.50*subz;
sd=dsctoP+dsctoC+dsctoZ;
//Calculando total a pagar
total=ss-sd;
//Aadiendo datos al JTextArea txaSalida usando el metodo append
//Para aadir otra linea debajo de la otra se usa \n
txaSalida.setText("Los subtotales a pagar son:" +"\n");
txaSalida.append("Pantalones: "+subp +"\n");
txaSalida.append("Camisas: "+subc +"\n");
txaSalida.append("Zapatos: "+subz +"\n" +"\n");
txaSalida.append("Los descuentos son:" +"\n");
txaSalida.append("Pantalones: "+dsctoP +"\n");
txaSalida.append("Camisas: "+dsctoC +"\n");
txaSalida.append("Zapatos: "+dsctoZ +"\n"+"\n");
txaSalida.append("El total a pagar es: "+total);
}
Y ya puede ejecutar su aplicacin

Ejercicio 3
En un comedor, el total a pagar se calcula de la siguiente.
Del consumo bsico, se calculan descuentos si se cumplen ciertas condiciones: Si el consumo es
mayor a 50 se descuenta el 5%, si el consumo es mayor a 100 se descuenta el 10% y si el
consumo es mayor a 150 se descuenta el 15%. Solo se puede hacer uno de los 3 tipos de
descuentos. Luego de calcular el descuento, se calcula el impuesto 18%, y luego se calcula el
total a pagar. Crear un formulario que muestre el consumo bsico, el descuento, el impuesto y el
total a pagar. El consumo se debe ingresar de manera manual.
Solucion
Crear la siguiente interfaz:

Desde ahora los nombres de los identificadores estarn visibles en la interfaz para su mayor
comprension. Doble clik al boton btnCalcular para programar su accion:
private void btnCalcularActionPerformed(java.awt.event.ActionEvent evt) {
int basico;
double dscto=0.00, impuesto, total;

basico=Integer.parseInt(txtBasico.getText());
//Calculando descuento
//Como solo se puede realizar un tipo de descuento
//debemos crear intervalos, esto con ayuda del operador de conjuncion && "Y"
if(basico>50 && basico<100)
dscto=basico * 0.05;
else if(basico>=100 && basico<150)
dscto=basico * 0.10;
else if(basico>=150)
dscto=basico * 0.15;
impuesto=basico * 0.18;
total= basico - dscto + impuesto;
//Mostramos resultados:
txtDscto.setText(""+dscto);
txtImp.setText(""+impuesto);
txtTotal.setText(""+total);
}
Ya puede ejecutar su aplicacin:

Ejercicio 4
Crear una aplicacin donde al seleccionar un numero de mes desde un JComboBox se muestre el
nombre del mes respectivo, su signo zodiacal y estacin.
Solucin:
Crear la siguiente interfaz

Para agregar items al JComboBox (cboNum), clik derecho Propiedades buscan model y clik
en el boton al lado( )

Luego, donde esta escrito Item 1, Item 2, Item 3, Item 4, borran y cambian por (Uno debajo de
otro)
1
2
3
4
..
12

Recordando el concepto de interfaces y escuchas: Como cada vez que se haga clik en el
JComboBox se deben mostrar los resultados, eso quiere decir que debemos programar al
JComboBox, doble clik para programar su accion:
private void cboNumActionPerformed(java.awt.event.ActionEvent evt) {
int num;
String signo="",estacion="",nombre="";
num=Integer.parseInt(cboNum.getSelectedItem().toString());
//Los items dentro de un JComboBox son Objetos
//para convertirlos a enteros primero se deben convertir a String
//para obtener el item seleccionado .getSelectedItem()
//para convertir el item (objeto) a cadena .toString()
switch (num){
case 1:
signo= "Capricornio";
estacion= "Verano";
nombre="Enero";
break;
case 2:
signo= "Acuario";
estacion= "Verano";
nombre="Febrero";
break;
case 3:
signo= "Piscis";
estacion= "Verano";
nombre="Marzo";
break;
case 4:
signo= "Aries";
estacion= "Otoo";
nombre="Abril";
break;
case 5:
signo= "Tauro";
estacion= "Otoo";
nombre="Mayo";
break;
case 6:
signo= "Geminis";
estacion= "Otoo";
nombre="Junio";
break;
case 7:
signo= "Cancer";
estacion= "Invierno";
nombre="Julio";
break;
case 8:

signo= "Leo";
estacion= "Invierno";
nombre="Agosto";
break;
case 9:
signo= "Virgo";
estacion= "Invierno";
nombre="Setiembre";
break;
case 10:
signo= "Libra";
estacion= "Primavera";
nombre="Octubre";
break;
case 11:
signo= "Escorpio";
estacion= "Primavera";
nombre="Noviembre";
break;
case 12:
signo= "Sagitario";
estacion= "Primavera";
nombre="Diciembre";
break;
}
txaSalida.setText("El nombre del mes es: "+nombre +"\n");
txaSalida.append("Corresponde el signo: "+signo+"\n");
txaSalida.append("Estacin: "+estacion);
}
Ya puede ejecutar su aplicacion:

También podría gustarte