Inicio > Estructuras Selectivas en Java > Java con Netbeans: Capítulo 5 – Estructuras Selectivas

Java con Netbeans: Capítulo 5 – Estructuras Selectivas

Estructuras Selectivas

Tal y como ya habíamos visto en la introducción, las estructuras selectivas son aquellas que realizan acciones dependiendo de una condición 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 institución 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.

Solución:

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 aplicación:


Ejercicio 2

Calcular el consumo de una persona en una tienda comercial donde se venden pantalones, camisas y zapatos. Si el consumidor compra más 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 más 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.

Solución:

Crear la siguiente interfaz:

Java Selectiva

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 serán de varias líneas:

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 acción:

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;

 //Añadiendo datos al JTextArea txaSalida usando el metodo append
 //Para añadir 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 aplicación


Ejercicio 3

En un comedor, el total a pagar se calcula de la siguiente.

Del consumo básico, 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 básico, 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 estarán 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 aplicación:


Ejercicio 4

Crear una aplicación donde al seleccionar un numero de mes desde un JComboBox se muestre el nombre del mes respectivo, su signo zodiacal y estación.

Solución:

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= "Otoño";
 nombre="Abril";
 break;
 case 5:
 signo= "Tauro";
 estacion= "Otoño";
 nombre="Mayo";
 break;
 case 6:
 signo= "Geminis";
 estacion= "Otoño";
 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("Estación: "+estacion);

 }

Ya puede ejecutar su aplicacion:


  1. 13 noviembre, 2012 a las 4:17

    Hola muchas gracias por compartir tus conocimientos me han servido de mucho para mi aprendizaje. Saludos

    • 13 noviembre, 2012 a las 6:41

      Un saludo tambien :D! Cualquier consulta no dudes en dejarla 🙂

  2. vianey
    15 diciembre, 2012 a las 1:56

    Excelentes Tutoriales muy bien explicados necesitamos mas swing en JAVAYA y no tan complejos porfavor yo soy seguidor de JAVAYA hace varios meses y he aprendido muchisimo les agradezco sinceramente por sus esfuerzos

    • 18 diciembre, 2012 a las 3:28

      Si sorry la verdad es que no tengo casi nada de tiempo espero poder compartir lo demas que sigue este mes. Igual cualquier consulta me las estan enviando y les estoy enviando las respuestas a sus correos, tambien me servira para poner los ejemplos. Saludos
      .

      • VIANEY VARGAS
        20 diciembre, 2012 a las 16:42

        no importa hermano esperare lo que sea se que montaras mas sobre javaya y los algoritmos pero todos en interfaz ??’?? igual te agradezco por responder muchas gracias lo mas importante es que respondan a los comentarios le agradezco,,,, muy buenas tus explicaciones…

  3. 2 febrero, 2013 a las 5:31

    Muy buenos tutoriales los recomiendo a todo el mundo.. excelentes.. aunque falta un poco mas de explicación para nosotros los novatos.

  4. 2 febrero, 2013 a las 13:25

    Amigo no tienes mas?? problemas para resolverlos asi ??? con ventanas???
    muchas gracias por estos he aprendido mucho mes haz sacado de varias dudas ya me quedaron claras algunas..

    • 3 febrero, 2013 a las 3:08

      Hola estimado, claro que tengo muchos mas pero no los voy a poder publicar todavia. Te los estare mandando a tu correo los ejemplos y los paquetes ya resueltos. Saludos!

  5. lazaro
    19 octubre, 2013 a las 18:47

    como puedo registrarme para que me lleguen esos tutoriales a mi tambien por favor mi correo es lroilan@hushmail.com te lo voy a agradecer

    • 4 enero, 2014 a las 6:13

      Disculpa por la demora, que tipo de tutoriales deseas? te los mandare al correo que has dejado. Gracias por pasar!

  1. 27 agosto, 2010 a las 20:50

Replica a vvvvianey Cancelar la respuesta