Está en la página 1de 18

1.

Dado un partido de fútbol jugado entre dos equipos A y B, diseñe un algoritmo que
determine el resultado del partido entre ganó A, ganó B o hubo empate.
CODIGO
view plainprint?

1. //Codigo considerado desde el boton calcular


2. JButton btnCalcular = new JButton("Calcular");
3. btnCalcular.addActionListener(new ActionListener() {
4. public void actionPerformed(ActionEvent arg0) {
5. //Declaracion de variables
6. int a,b;
7.
8. //Obteniendo los valores de los valores ingresados en el GUI
9. a=Integer.parseInt(txtEquipoA.getText());
10. b=Integer.parseInt(txtEquipoB.getText());
11.
12. //Obteniendo loque pide el problema
13. if (a>b) {
14. //Con esta sentencia mostramos los resultados
15. txtrResultado.setText(" \n El Equipo A gano por "+a+" goles a "+b)
;
16. }else if(b>a){
17. txtrResultado.setText(" \n El Equipo B gano por "+b+" goles a "+a)
;
18. }else
19. txtrResultado.setText(" \n El Equipo A empato "+b+" a "+a+" con el
Equipo B");
20.
21. }
22. });
23. btnCalcular.setBounds(50, 142, 89, 23);
24. contentPane.add(btnCalcular);
25.
26. JButton btnNuevo = new JButton("Nuevo");
27. btnNuevo.addActionListener(new ActionListener() {
28. public void actionPerformed(ActionEvent arg0) {
29. //Borrando cajas de texto
30. txtEquipoA.setText("");
31. txtEquipoB.setText("");
32. txtrResultado.setText("");
33.
34. //Ubicamos el puntero en la primera caja
de texto(Equip A)
35. txtEquipoA.requestFocus();
36. }
37. });
38. btnNuevo.setBounds(50, 185, 89, 23);
39. contentPane.add(btnNuevo);
40. }
41. }

MUESTRA
2. Una tienda vende tres tipos de productos cuyos códigos son 101, 102 y 103 a los
precios unitarios dados en la siguiente tabla:
Código----- Precio Unitario
101-------->S/. 17.5
102-------->S/. 25.0
103------->S/. 15.5
Como oferta la tienda ofrece un porcentaje de descuento sobre el importe de la compra de
acuerdo a la siguiente tabla:
Unidades Adquiridas ---Descuento
1 – 10----------------->5.0 %
11 – 20--------------->7.5 %
Más de 20------------>10.0 %
Diseñe un algoritmo que determine el importe de la compra, el importe del descuento y el
importe a pagar por la compra de cierta cantidad de unidades de un mismo tipo de
producto
CODIGO
view plainprint?

1. btnCalcular = new JButton("Calcular");


2. btnCalcular.addActionListener(new ActionListener() {
3. public void actionPerformed(ActionEvent arg0) {
4.
5. int codigo = 0,cantidad;
6. double preCompra = 0,preVenta,desc;
7.
8. codigo=Integer.parseInt(txtCodigo.getText());
9. cantidad=Integer.parseInt(txtCantidad.getText());
10.
11. switch (codigo) {
12. case 101:
13. preCompra=17.5*cantidad;
14. break;
15. case 102:
16. preCompra=25*cantidad;
17. break;
18. case 103:
19. preCompra=15.5*cantidad;
20. break;
21. default:
22. break;
23. }
24.
25. if (cantidad>=1 && cantidad<=10) {
26. desc=preCompra*5/100;
27. preVenta=preCompra-desc;
28.
29. }else if (cantidad>=11 && cantidad<=20) {
30. desc=preCompra*7.5/100;
31. preVenta=preCompra-desc;
32.
33. }else
34. desc=preCompra*10/100;
35. preVenta=preCompra-desc;
36.
37.
38. txtrResultado.setText(" \n Impote de la compra:... "+preCompra);
39. txtrResultado.append(" \n Importe del descuento:.. "+desc);
40. txtrResultado.append(" \n Importe a pagara........ "+preVenta);
41. }
42. });
43. btnCalcular.setBounds(251, 25, 89, 23);
44. contentPane.add(btnCalcular);
45.
46. JButton btnNuevo = new JButton("Nuevo");
47. btnNuevo.addActionListener(new ActionListener() {
48. public void actionPerformed(ActionEvent arg0) {
49.
50. //borrando contenido de las cajas de texto
51. txtCantidad.setText("");
52. txtCodigo.setText("");
53. txtrResultado.setText("");
54. txtCodigo.requestFocus();
55. }
56. });
57. btnNuevo.setBounds(251, 57, 89, 23);
58. contentPane.add(btnNuevo);
59. }
60. }

MUESTRA
3. En un supermercado hay una promoción según la cual el cliente raspa una tarjeta que
contiene un número oculto. Si el número de la tarjeta es par no menor que 100, el cliente
obtiene un descuento del 15% sobre el importe de la compra; en caso contrario, sólo se le
descuenta el 5%. Dado el número oculto de la tarjeta y el importe de una compra, diseñe
un algoritmo que determine el importe del descuento y el importe a pagar para un cliente
del supermercado.
CODIGO
view plainprint?

1. btnCalcular = new JButton("Calcular");


2. btnCalcular.addActionListener(new ActionListener() {
3. public void actionPerformed(ActionEvent arg0) {
4.
5. int NumOculto;
6. double ImpCompra,ImpPagar,Desc;
7.
8. NumOculto=Integer.parseInt(txtNumoculto.getText());
9. ImpCompra=Double.parseDouble(txtImporteCompra.getText());
10.
11. if (NumOculto%2==0 && NumOculto>100) {
12. Desc=ImpCompra*0.15;
13. ImpPagar=ImpCompra-Desc;
14. }else
15. Desc=ImpCompra*0.05;
16. ImpPagar=ImpCompra-Desc;
17.
18.
19. txtResultado.setText(" \n Importe del descuento:.. "+Desc);
20. txtResultado.append(" \n Importe a pagar:......... "+ImpPagar);
21. }
22. });
23. btnCalcular.setBounds(291, 24, 89, 23);
24. contentPane.add(btnCalcular);
25.
26. btnNuevo = new JButton("Nuevo");
27. btnNuevo.addActionListener(new ActionListener() {
28. public void actionPerformed(ActionEvent arg0) {
29.
30. //Borrando contenido de las cajas de texto
31. txtImporteCompra.setText("");
32. txtNumoculto.setText("");
33. txtResultado.setText("");
34.
35. txtNumoculto.requestFocus();
36. }
37. });
38. btnNuevo.setBounds(291, 57, 89, 23);
39. contentPane.add(btnNuevo);
40. }
41.
42. }

MUESTRA
4. Un supermercado vende yogurt en botellas de 1 litro a los precios dados en la siguiente
tabla:
Código del Yogurt ------Precio por Litro
101------------------>S/. 4.2
102------------------>S/. 3.5
103------------------>S/. 5.5
104------------------>S/. 5.1
Como oferta la tienda ofrece un porcentaje de descuento sobre el importe de la compra de
acuerdo a la siguiente tabla:
Unidades adquiridas---- % de descuento
1 a 10------------------>5.0%
11 a 20----------------->7.5%
21 a 30---------------->10.0%
Más de 30------------->12.5%
Adicionalmente, si el importe de la compra es mayor que S/. 250, la tienda obsequia una
lonchera térmica; en caso contrario, obsequia un toma-todo. Cualquiera de los regalos es
aplicable únicamente a la compra de yogurt con código 103, para los demás no hay regalo.
Diseñe un algoritmo que determine el importe de la compra, el importe del descuento, el
importe a pagar y el obsequio (lonchera térmica, toma-todo o ninguno) por la compra de
cierta cantidad de unidades de una misma marca de yogurt.
CODIGO
view plainprint?

1. JButton btnCalcular = new JButton("Calcular");


2. btnCalcular.addActionListener(new ActionListener() {
3. public void actionPerformed(ActionEvent arg0) {
4.
5. int codigo,cantidad;
6. double impCompra = 0,impPagar,desc;
7. String obsequio = null;
8.
9. codigo=Integer.parseInt(txtCodigo.getText());
10. cantidad=Integer.parseInt(txtCantidad.getText());
11.
12. switch (codigo) {
13. case 101:
14. impCompra=4.2*cantidad;
15. break;
16. case 102:
17. impCompra=3.5*cantidad;
18. break;
19. case 103:
20. impCompra=5.5*cantidad;
21. if (impCompra>250) {
22. obsequio="Lonchera Térmica";
23. }else obsequio="Toma-Todo";
24.
25. break;
26. case 104:
27. impCompra=5.1*cantidad;
28. break;
29. default: JOptionPane.showMessageDialog(null,"Código incorrecto del
yogurt");
30. break;
31. }
32.
33. if (cantidad>=1 && cantidad<=10) {
34. desc=impCompra*5/100;
35. impPagar=impCompra-desc;
36. }
37. else if (cantidad>=11 && cantidad<=20) {
38. desc=impCompra*7.5/100;
39. impPagar=impCompra-desc;
40. }
41. else if (cantidad>=21 && cantidad<=30) {
42. desc=impCompra*10/100;
43. impPagar=impCompra-desc;
44. }else
45. desc=impCompra*12.5/100;
46. impPagar=impCompra-desc;
47.
48. txtrResultado.setText(" \n Importe de la compra:...."+impCompra);
49. txtrResultado.append(" \n Importe del decuento:....."+desc);
50. txtrResultado.append(" \n Importe a pagar:.........."+impPagar);
51. txtrResultado.append(" \n Obsequio:................."+obsequio);
52. }
53. });
54. btnCalcular.setBounds(261, 21, 89, 23);
55. contentPane.add(btnCalcular);
56.
57. JButton btnNuevo = new JButton("Nuevo");
58. btnNuevo.addActionListener(new ActionListener() {
59. public void actionPerformed(ActionEvent arg0) {
60.
61. //limpiando cajas de texto
62. txtCantidad.setText("");
63. txtCodigo.setText("");
64. txtrResultado.setText("");
65.
66. //ubicamos el puntero en la primera caja de texto
67. txtCodigo.requestFocus();
68. }
69. });
70. btnNuevo.setBounds(261, 55, 89, 23);
71. contentPane.add(btnNuevo);
72. }
73.
74. }
MUESTRA

5. Una empresa ha decidido otorgar una bonificación por fiestas patrias a sus empleados.
Si el empleado tiene más de un hijo, recibirá una bonificación igual al 12.5% de su sueldo
bruto más S/. 40 por cada hijo; en caso contrario, solo recibirá el 12.5% de su sueldo bruto.
Diseñe un programa que determine la bonificación por fiestas patrias que le corresponde a
un empleado.
CÓDIGO
view plainprint?

1. JButton btnCalcular = new JButton("Calcular");


2. btnCalcular.addActionListener(new ActionListener() {
3. public void actionPerformed(ActionEvent arg0) {
4.
5. double SueldoBruto,bonificacion;
6. int NumHijos;
7.
8. SueldoBruto=Double.parseDouble(txtSueldoBruto.getText());
9. NumHijos=Integer.parseInt(txtNumHijos.getText());
10.
11. if (NumHijos>1)
12. bonificacion=SueldoBruto*12.5/100+(40*NumHijos);
13. else
14. bonificacion=SueldoBruto*12.5/100;
15.
16. txtrResultado.setText(" \n Bonificación: "+bonificacion);
17. }
18. });
19. btnCalcular.setBounds(309, 23, 89, 23);
20. contentPane.add(btnCalcular);
21.
22. JButton btnNuevo = new JButton("Nuevo");
23. btnNuevo.addActionListener(new ActionListener() {
24. public void actionPerformed(ActionEvent arg0) {
25.
26. txtNumHijos.setText("");
27. txtrResultado.setText("");
28. txtSueldoBruto.setText("");
29.
30. txtSueldoBruto.requestFocus();
31. }
32. });
33. btnNuevo.setBounds(309, 59, 89, 23);
34. contentPane.add(btnNuevo);
35. }
36. }
MUESTRA

6. Un curso se evalúa en base a cuatro notas de práctica de las cuales se elimina la nota
menor y se promedian las tres notas más altas. Diseñe un programa que determine la nota
eliminada y el promedio final de un alumno.
CÓDIGO
view plainprint?

1. JButton btnCalcular = new JButton("Calcular");


2. btnCalcular.addActionListener(new ActionListener() {
3. public void actionPerformed(ActionEvent arg0) {
4.
5. double n1,n2,n3,n4,promedio,nEliminada = 0;
6.
7. n1=Double.parseDouble(txtNota1.getText());
8. n2=Double.parseDouble(txtNota2.getText());
9. n3=Double.parseDouble(txtNota3.getText());
10. n4=Double.parseDouble(txtNota4.getText());
11.
12. if(n1>=0 && n1<=20 && n2>=0 && n2<=20 && n3>=0 && n3<=20 && n4>=
0 && n4<=20){
13.
14.
15. if (n1<=n2 && n1<=n3 &&n1<=n4) {
16. nEliminada=n1;
17. }else if (n2<=n1 && n2<=n3 && n2<=n4) {
18. nEliminada=n2;
19. }else if (n3<=n1 && n3<=n2 && n3<=n4) {
20. nEliminada=n3;
21. }else
22. nEliminada=n4;
23.
24. promedio=(n1+n2+n3+n4-nEliminada)/3;
25.
26. txtrResultado.setText(" \n Nota eliminada: "+nEliminada);
27. txtrResultado.append(" \n Promedio: "+promedio);
28.
29. }
30. else
31. JOptionPane.showMessageDialog(null, "Ingrese una nota en el rangode
0 a 20");
32.
33. }
34. });
35. btnCalcular.setBounds(36, 191, 89, 23);
36. contentPane.add(btnCalcular);
37.
38. JButton btnNuevo = new JButton("Nuevo");
39. btnNuevo.addActionListener(new ActionListener() {
40. public void actionPerformed(ActionEvent arg0) {
41. txtNota1.setText("");
42. txtNota2.setText("");
43. txtNota3.setText("");
44. txtNota4.setText("");
45. txtrResultado.setText("");
46.
47. txtNota1.requestFocus();
48. }
49. });
50. btnNuevo.setBounds(36, 225, 89, 23);
51. contentPane.add(btnNuevo);
52. }

MUESTRA

7. En un supermercado se hace una promoción, mediante la cual el cliente obtiene un


descuento dependiendo de un número que se escoge al azar. Si el número escogido es
menor que 74, el descuento es del 15% sobre el total de la compra; si es mayor o igual a
74, el descuento es del 20%. Diseñe un programa que determine cuando dinero se le debe
descontar a un cliente.
CÓDIGO
view plainprint?

1. JButton btnCalcular = new JButton("Calcular");


2. btnCalcular.addActionListener(new ActionListener() {
3. public void actionPerformed(ActionEvent arg0) {
4.
5. double ImporteCompra,NumEscogido,descuento;
6.
7. ImporteCompra=Double.parseDouble(txtImporteCompra.getText());
8. NumEscogido=Double.parseDouble(txtNumEscogido.getText());
9.
10. if (NumEscogido>=74) {
11. descuento=ImporteCompra*20/100;
12. }else
13. descuento=ImporteCompra*15/100;
14.
15. ImporteCompra=ImporteCompra-descuento;
16.
17. txtrResultado.setText(" \n Se debe desontar "+descuento);
18. txtrResultado.append(" \n Importe total de la compra: "+ImporteCompr
a);
19. }
20. });
21. btnCalcular.setBounds(256, 27, 89, 23);
22. contentPane.add(btnCalcular);
23.
24. JButton btnNuevo = new JButton("Nuevo");
25. btnNuevo.addActionListener(new ActionListener() {
26. public void actionPerformed(ActionEvent arg0) {
27.
28. txtImporteCompra.setText("");
29. txtNumEscogido.setText("");
30. txtrResultado.setText("");
31. txtImporteCompra.requestFocus();
32. }
33. });
34. btnNuevo.setBounds(256, 64, 89, 23);
35. contentPane.add(btnNuevo);
36. }

MUESTRA

8. Una empresa paga a sus vendedores un sueldo bruto igual a la suma de un sueldo
básico de S/. 300 más una comisión igual al 15% del monto total vendido. Por otro lado, si
el sueldo bruto del vendedor es mayor que S/. 1800, recibe un descuento del 15% del
sueldo bruto; en caso contrario, recibe un descuento del 11% del sueldo bruto. Además,
como incentivo, la empresa obsequia 3 polos si es que el monto vendido es mayor a S/.
500; en caso contrario, sólo obsequia 1 polo. Diseñe un algoritmo que determine el sueldo
bruto, el descuento, el sueldo neto y el número de polos de obsequio correspondiente a un
vendedor de la empresa.
CÓDIGO
view plainprint?

1. JButton btnCalcular = new JButton("Calcular");


2. btnCalcular.addActionListener(new ActionListener() {
3. public void actionPerformed(ActionEvent arg0) {
4.
5. double MontoVendido,Sneto = 0,Sbruto,desc,Sbasico=300;
6. String obsequio;
7.
8. MontoVendido=Double.parseDouble(txtMontoVendido.getText());
9.
10. Sbruto=Sbasico+(MontoVendido*15/100);
11.
12. if (Sbruto>1800) {
13. desc=Sbruto*15/100;
14. }else
15. desc=Sbruto*11/100;
16.
17. if (MontoVendido>500) {
18. obsequio=" 3 polos";
19. }else
20. obsequio="1 polo";
21.
22. Sneto=Sbruto-desc;
23.
24. txtrResultado.setText(" \n Sueldo bruto: "+Sbruto);
25. txtrResultado.append(" \n Descuento: "+desc);
26. txtrResultado.append(" \n Sueldo neto: "+Sneto);
27. txtrResultado.append(" \n Obsequio: "+obsequio);
28.
29. }
30. });
31. btnCalcular.setBounds(293, 26, 89, 23);
32. contentPane.add(btnCalcular);
33.
34. JButton btnNuevo = new JButton("Nuevo");
35. btnNuevo.addActionListener(new ActionListener() {
36. public void actionPerformed(ActionEvent arg0) {
37.
38. txtMontoVendido.setText("");
39. txtrResultado.setText("");
40. txtMontoVendido.requestFocus();
41. }
42. });
43. btnNuevo.setBounds(293, 60, 89, 23);
44. contentPane.add(btnNuevo);
45. }

MUESTRA
9. Calcule el gasto de agua en una vivienda dado el número de metros cúbicos
consumidos, siendo el sistema de cobro:
La cuota fija mensual es de S/. 25
Los primeros 50 m3 son gratis.
Entre 51 y 200 m3 se cobra S/. 0.3 el m3
A partir de 201 m3 se cobra S/. 0.4 el m3
CÓDIGO
view plainprint?

1. JButton btnCalcular = new JButton("Calcular");


2. btnCalcular.addActionListener(new ActionListener() {
3. public void actionPerformed(ActionEvent arg0) {
4.
5. double Mcubicos,gasto=25;
6.
7. Mcubicos=Double.parseDouble(txtMcubicos.getText());
8.
9. if (Mcubicos>=51 && Mcubicos<=200)
10. gasto=gasto+(Mcubicos-50)*0.3;
11. if(Mcubicos>=201)
12. gasto=gasto+(Mcubicos-50)*0.4;
13.
14. txtrResultado.setText(" \n El gasto a pagar por agua es: "+gasto);
15.
16. }
17. });
18. btnCalcular.setBounds(304, 11, 89, 23);
19. contentPane.add(btnCalcular);
20.
21. JButton btnNuevo = new JButton("Nuevo");
22. btnNuevo.addActionListener(new ActionListener() {
23. public void actionPerformed(ActionEvent arg0) {
24. txtMcubicos.setText("");
25. txtrResultado.setText("");
26. txtMcubicos.requestFocus();
27. }
28. });
29. btnNuevo.setBounds(304, 45, 89, 23);
30. contentPane.add(btnNuevo);
31. }

MUESTRA

10. Una empresa calcula el sueldo bruto de sus trabajadores en base a las horas
trabajadas. Hasta 48 horas, se paga una tarifa horaria normal. Para las horas en exceso
sobre 48, se paga un recargo del 15% respecto a la tarifa horaria normal. Por otro lado, si
el sueldo bruto es superior a S/. 1700, se aplica un descuento del 11%. Diseñe un
programa que determine el sueldo bruto, el descuento y el sueldo neto de un trabajador.

CÓDIGO
view plainprint?

1. JButton btnCalcular = new JButton("Calcular");


2. btnCalcular.addActionListener(new ActionListener() {
3. public void actionPerformed(ActionEvent arg0) {
4.
5. int horas;
6. double Sbruto = 0,tarifaHoraria,desc = 0,Sneto,recargo;
7.
8. tarifaHoraria=Double.parseDouble(txtTarifaNormal.getText());
9. horas=Integer.parseInt(txtHorasTrabajadas.getText());
10.
11. if (horas>=48) {
12. recargo=((horas-48)*tarifaHoraria)*15/100;
13. Sbruto=horas*tarifaHoraria+recargo;
14.
15. if (Sbruto>1700) {
16. desc=Sbruto*11/100;
17. }
18.
19. Sneto=Sbruto-desc;
20.
21. }else {
22. Sbruto=tarifaHoraria*horas;
23.
24. if (Sbruto>1700)
25. desc=Sbruto*11/100;
26.
27. Sneto=Sbruto-desc;
28. }
29.
30.
31. txtrResultados.setText(" \n Sueldo Bruto: "+Sbruto);
32. txtrResultados.append(" \n Descuento: "+desc);
33. txtrResultados.append(" \n Sueldo Neto: "+Sneto);
34. }
35. });
36. btnCalcular.setBounds(294, 21, 89, 23);
37. contentPane.add(btnCalcular);
38.
39. JButton btnNuevo = new JButton("Nuevo");
40. btnNuevo.addActionListener(new ActionListener() {
41. public void actionPerformed(ActionEvent arg0) {
42. txtHorasTrabajadas.setText("");
43. txtrResultados.setText("");
44. txtTarifaNormal.setText("");
45. txtTarifaNormal.requestFocus();
46. }
47. });
48. btnNuevo.setBounds(294, 55, 89, 23);
49. contentPane.add(btnNuevo);
50. }

MUESTRA

11. En un cine, los precios de las entradas son los mostrados en la siguiente tabla:
Día------------------------- General --------Niños
Lunes S/. 9 S/. 7
Martes S/. 7 S/. 7
Miércoles a Viernes S/. 10 S/. 8
Sábado y Domingo S/. 12 S/. 9

Como oferta, el cine entrega un vale por media entrada si el número total de entradas
adquiridas (la suma del número de entradas generales más el número de entradas de
niños) es mayor que 5. Diseñe un programa que determine cuánto debe pagar un cliente
por la compra de cierta cantidad de entradas generales y/o de niños.
CÓDIGO
view plainprint?

1. JButton btnCalcular = new JButton("Calcular");


2. btnCalcular.addActionListener(new ActionListener() {
3. public void actionPerformed(ActionEvent arg0) {
4.
5. int dia,general,niños;
6. double importe = 0,regalo = 0;
7.
8. dia=cboDia.getSelectedIndex();
9. general=Integer.parseInt(txtGenneral.getText());
10. niños=Integer.parseInt(txtNiños.getText());
11.
12. if (dia==1) {//Lunes
13. importe=general*9+niños*7;
14. if(general+niños>5)
15. regalo = 4.5;
16. }
17.
18. else if (dia==2) {//Martes
19. importe=general*7+niños*7;
20. if(general+niños>5)
21. regalo = 3.5;
22. }
23.
24. else if (dia==3) {//Miércoles a Viernes
25. importe=general*10+niños*8;
26. if(general+niños>5)
27. regalo = 5;
28. }
29.
30. else if(dia==4){//Sábado y Domingo
31. importe=general*12+niños*9;
32. if(general+niños>5)
33. regalo = 6;
34. }
35. else
36. JOptionPane.showMessageDialog(null, "Selecione el Día de la semana
");
37.
38.
39. txtrResultado.setText(" \n TOTAL A PAGAR: "+importe);
40. txtrResultado.append(" \n REGALO: "+regalo);
41.
42. }
43. });
44. btnCalcular.setBounds(318, 22, 89, 23);
45. contentPane.add(btnCalcular);
46.
47. JButton btnNuevo = new JButton("Nuevo");
48. btnNuevo.addActionListener(new ActionListener() {
49. public void actionPerformed(ActionEvent arg0) {
50. txtGenneral.setText("");
51. txtNiños.setText("");
52. txtrResultado.setText("");
53. txtGenneral.requestFocus();
54. }
55. });
56. btnNuevo.setBounds(318, 56, 89, 23);
57. contentPane.add(btnNuevo);
58.
59. panel_1 = new JPanel();
60. panel_1.setBorder(new TitledBorder(null, "Resultado", TitledBorder.LE
ADING, TitledBorder.TOP, null, null));
61. panel_1.setBounds(10, 122, 414, 128);
62. contentPane.add(panel_1);
63. panel_1.setLayout(null);
64.
65. JScrollPane scrollPane = new JScrollPane();
66. scrollPane.setBounds(10, 22, 394, 95);
67. panel_1.add(scrollPane);
68.
69. txtrResultado = new JTextArea();
70. scrollPane.setViewportView(txtrResultado);
71. }
72. }

MUESTRA

12. La empresa Construya Fácil ha puesto a la venta los libros indicados en la siguiente
tabla:
Libro------------------------------------------------------ Precio en la Sede
Manual Práctico de Construcción $. 30
Manual Práctico de Instalaciones Sanitarias $. 27
Manual Práctico de Instalaciones Eléctricas $. 20
Manual Práctico de Acabados $. 35
Los precios indicados en la tabla se aplican en caso que el pago se efectúe en la sede de
la empresa. Si el pago se efectúa a domicilio, el precio se incrementa en un 2%. Dada una
compra de cierta cantidad de unidades de un mismo título de libro, diseñe un algoritmo que
determine el importe total a pagar y el precio unitario pagado por cada libro.
view plainprint?

1. btnCalcular = new JButton("Calcular");


2. btnCalcular.addActionListener(new ActionListener() {
3. public void actionPerformed(ActionEvent arg0) {
4.
5. int libros,sede,cantidad;
6. double importe = 0,incremento,total = 0,preUnidad = 0;
7.
8. libros=cboLibros.getSelectedIndex();
9. sede=cboSede.getSelectedIndex();
10. cantidad=Integer.parseInt(txtCantidad.getText());
11.
12. if(sede==1){
13. switch (libros) {
14. case 1:
15. preUnidad=30;
16. importe=cantidad*preUnidad ;
17. total=importe;
18. break;
19. case 2:
20. preUnidad=27;
21. importe=cantidad*preUnidad;
22. total=importe;
23. break;
24. case 3:
25. preUnidad=20;
26. importe=cantidad*preUnidad;
27. total=importe;
28. break;
29. case 4:
30. preUnidad=35;
31. importe=cantidad*preUnidad;
32. total=importe;
33. break;
34. default:JOptionPane.showMessageDialog(null, "Seleccione un libro")
;
35. break;
36. }
37. }else if(sede==2){
38. switch (libros) {
39. case 1:
40. preUnidad=30;
41. importe=cantidad*preUnidad;
42. incremento=importe*2/100;
43. total=importe+incremento;
44. break;
45. case 2:
46. preUnidad=27;
47. importe=cantidad*preUnidad;
48. incremento=importe*2/100;
49. total=importe+incremento;
50. break;
51. case 3:
52. preUnidad=20;
53. importe=cantidad*preUnidad;
54. incremento=importe*2/100;
55. total=importe+incremento;
56. break;
57. case 4:
58. preUnidad=35;
59. importe=cantidad*preUnidad;
60. incremento=importe*2/100;
61. total=importe+incremento;
62. break;
63. default:JOptionPane.showMessageDialog(null, "Seleccione un libro")
;
64. break;
65. }
66.
67. }else
68. JOptionPane.showMessageDialog(null, "Seleccione una sede");

69.
70. txtrResultado.setText(" \n preio por unidad: "+preUnidad);
71. txtrResultado.append(" \n Importe total a pagar"+importe);
72. txtrResultado.append(" \n Importe total a pagar"+total);
73. }