Java para Web - JSP Professora Lucélia Exercícios de Revisão 1. Em tempos de grande concorrência, o Hotel São Patrício quer ampliar a sua competitividade, por isso encomendou a um sistema para calcular as contas de seus clientes. A promoção funciona da seguinte forma: A 1 noite custa R$100,00, a segunda R$50,00 (100/2), a n-ésima noite custa 100/n. Calcule e informe o valor a ser cobrado de um cliente após n noites de hospedagem no hotel. 1. <html> 2. <head> Index.jsp 3. <title>Hotel</title> 4. </head> 5. <body> 6. <h1>Hotel São Patrício</h1> 7. <form action="controleHotel.jsp"> 8. <div> 9. Informe a quantidade de Dias<br /> 10. <input type="text" name="qtdDias" /><br /><br /> 11. <input type="submit" value="Calcular" /> 12. </div> 13. </form> 14. </body> 15. </html> 1. <% 2. String qtd = request.getParameter("qtdDias"); 3. int quant = 0; 4. double conta = 0; controleHotel.jsp 5. try{ 6. quant = Integer.parseInt(qtd); 7. for(int i = 1; i <= quant; i++){ 8. conta = conta + (double)100/i; 9. } 10. }catch(NumberFormatException erro){ 11. 12. quant = 0; conta = 0; 13. } 14. 15. session.setAttribute("conta", conta); response.sendRedirect("mostradorHotel.jsp"); 16. %> 1. <html> 2. <head> 3. <title>Mostra Conta - Hotel</title> mostradorHotel.jsp 4. </head> 5. <body style="text-align:center;"> 6. <% Double conta = (Double) session.getAttribute("conta"); 7. DecimalFormat df = new DecimalFormat(); 8. df.applyPattern("R$ #,##0.00"); 9. out.println("<h1>Valor da Conta <br /><br />"+df.format(conta)+"</h1>"); 10. %> 11. </body> 12. </html> 2. A Equipe de desenvolvimento LPV UNEB foi contratada para desenvolver um sistema para a área de recursos humanos da Companhia Brasília NET SA para cálculo do salário líquido em que três valores devem ser informados pelo usuário: o salário bruto, o valor do salário-hora e o número de dependentes. O sistema deverá ser construído de acordo com as seguintes regras de negócio: · Salário bruto o Horas trabalhadas * salário hora + (50 * número de dependentes) · Desconto INSS o Se salário bruto <= 1000 INSS=salário bruto * 8.5/100 o Se salário bruto > 1000 INSS=salário bruto * 9/100 · Desconto IR o Se salário bruto <= 500 IR=0 o Se salário bruto > 500 e <= 1000 IR=salário bruto*5/100 o Se salário bruto > 1000 IR=salário bruto*7/100 · Salário líquido o Salário bruto - INSS – IR 3. Uma loja de acessórios automotivos está liquidando seus preços. Os descontos variam de acordo com a cor da etiqueta fixada nas peças. Construa a aplicação solicitada onde o usuário deverá informar a cor da etiqueta e o valor normal do produto e o sistema deverá informar o preço com desconto. Os descontos seguem a seguinte tabela: Etiqueta Desconto Azul 10% Rosa 20% Amarelo 30% Branco 40% 4. A Concessionária VM Automóveis SA está solicitando um sistema para calcular os valores das prestações e o valor final pago por seus clientes que financiam veículos em suas lojas. Os valores são calculados com base nas seguintes informações. · Dependendo da negociação a taxa de retorno irá variar entre 3% e 10%, essa taxa é calculada uma única vez sobre o valor principal do veículo. · A modalidade de juros cobrados será o modelo composto, ou seja, juros sobre juros e as taxas cobradas serão as seguintes: o 12 Meses => Juros de 1% ao mês; o 24 Meses => Juros de 1,5% ao mês; o 36 Meses => Juros de 2% ao mês.; o 48 Meses => Juros de 2,5% ao mês. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. import javax.swing.JOptionPane; public class Rh { public static void main( String args[] ) { String ND, SH, HT; int nd; float sh, ht, dIR, sb; double dINSS, sl; ND= JOptionPane.showInputDialog (null,"Digite número de dependentes","Número de Dependentes", JOptionPane.QUESTION_MESSAGE); nd = Integer.parseInt(ND); SH= JOptionPane.showInputDialog (null,"Digite salário hora","Salário Hora", JOptionPane.QUESTION_MESSAGE); sh = Float.parseFloat(SH); HT= JOptionPane.showInputDialog (null,"Digite número de horas trabalhadas","Número de Horas Trabalhadas", JOptionPane.QUESTION_MESSAGE); ht = Float.parseFloat(HT); sb = ht*sh+(50*nd); {JOptionPane.showMessageDialog ( null, "Salário Bruto" +sb , "Salário Bruto", JOptionPane.INFORMATION_MESSAGE );} if (sb<=1000) dINSS = sb*8.5/100; else dINSS = sb*9/100; {JOptionPane.showMessageDialog ( null, "Desconto do INSS" +dINSS , "Desconto do INSS", JOptionPane.INFORMATION_MESSAGE );} if (sb<=500) dIR = 0; if (sb>500 && sb<=1000) dIR = sb*5/100; 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. } 76. } else dIR = sb*7/100; {JOptionPane.showMessageDialog ( null, "Desconto do IR" +dIR , "Desconto do IR", JOptionPane.INFORMATION_MESSAGE );} sl = sb-dINSS-dIR; {JOptionPane.showMessageDialog ( null, "Salário Líquido" +sl , "Salário Líquido", JOptionPane.INFORMATION_MESSAGE ); System.exit( 0 );} 5. Desenvolver um programa que peça ao usuário para cadastrar uma senha; na sequencia, deve pedir ao usuário que digite duas variáveis reais, e irá calcular a divisão da primeira pela segunda. O programa irá pedir ao usuário que digite sua senha: Se estiver correta ela mostra o resultado da divisão. Senão, dá uma mensagem de erro e encerra o aplicativo.