Resolução dos Exercícios Resolução dos Exercícios 1. Obtenha do usuário três notas de exame e calcule a média dessas notas. Reproduza a média dos três exames. Junto com a média mostre um :) no resultado se a média for maior ou igual a 60; caso contrário mostre :-( Faça duas versões deste programa: a) Use a classe Scanner para obter as notas do usuário, e System.out para mostrar o resultado. import java.util.Scanner; public class mediaScanner { public static void main (String args[]){ Scanner nota = new Scanner(System.in); double valNota = 0, media; int i; for (i = 1; i <= 3; i++){ System.out.println("Digite a "+i+"ª nota: "); valNota += nota.nextDouble(); } media = valNota / i; if (media >= 60) System.out.println("A média do aluno é "+media+" :)"); else System.out.println("A média do aluno é "+media+" :("); } } b) Use JOptionPane para obter as notas do usuário e para mostrar o resultado. import javax.swing.JOptionPane; public class media2 { public static void main (String args[]){ String nota, carinha; double valNota = 0, media; int i; for (i = 1; i <= 3; i++){ nota = JOptionPane.showInputDialog("Digite a "+ i+"ª nota"); valNota += Double.parseDouble(nota); } media = valNota / i; if (media >= 60) carinha = " :)"; else carinha = " :("; JOptionPane.showMessageDialog(null, "A média do aluno é "+media+carinha, "Média",JOptionPane.INFORMATION_MESSAGE); } } 2. Solicite ao usuário para digitar um número, e mostre-o por extenso. Este número deverá variar entre 1 e 10. Se o usuário introduzir um número que não está neste intervalo, mostre a mensagem: “Número inválido”. Faça duas versões deste programa: a) Use uma declaração if-else-if para resolver este problema. import javax.swing.JOptionPane; public class EscreveNumero1 { public static void main (String args[]){ 1 Linguagem de Programaç ão String numero, saida; int valNumero; numero = JOptionPane.showInputDialog("Digite um número entre 1 e 10"); valNumero = Integer.parseInt(numero); if (valNumero == 1) saida = "um."; else if (valNumero == 2) saida = "dois."; else if (valNumero == 3) saida = "três."; else if (valNumero == 4) saida = "quatro."; else if (valNumero == 5) saida = "cinco."; else if (valNumero == 6) saida = "seis."; else if (valNumero == 7) saida = "sete."; else if (valNumero == 8) saida = "oito."; else if (valNumero == 9) saida = "nove."; else if (valNumero == 10) saida = "dez."; else saida = "está fora do intervalo."; JOptionPane.showMessageDialog(null, "O valor digitado foi "+valNumero+ ", "+saida,"Número por extenso", JOptionPane.INFORMATION_MESSAGE); } } b) Use uma declaração switch para resolver este problema. import javax.swing.JOptionPane; public class EscreveNumero2 { public static void main (String args[]){ String numero, saida; int valNumero; numero = JOptionPane.showInputDialog("Digite um número entre 1 e 10"); valNumero = Integer.parseInt(numero); switch (valNumero){ case 1: saida = "um."; break; case 2: saida = "dois."; break; case 3: saida = "três."; break; case 4: saida = "quatro."; break; case 5: saida = "cinco."; break; case 6: saida = "seis."; break; 2 Resolução dos Exercícios case 7: saida = "sete."; break; case 8: saida = "oito."; break; case 9: saida = "nove."; break; case 10: saida = "dez."; break; default: saida = "está fora do intervalo."; } JOptionPane.showMessageDialog(null, "O valor digitado foi "+valNumero+ ", "+saida,"Número por extenso", JOptionPane.INFORMATION_MESSAGE); } } 4. Uma empresa de pedidos pelo correio vende cinco produtos diferentes cujos preços de varejo são: Produto 1, R$ 2,98 Produto 2, R$ 4,50 Produto 3, R$ 9,98 Produto 4, R$ 4,49 Produto 5, R$ 6,87 Escreva um aplicativo que leia uma série de pares de números como segue: a) Número do produto; b) Quantidade vendida em um dia. O programa deve utilizar uma estrutura switch para ajudar a determinar o preço de varejo de cada produto. Ele deve calcular e exibir o valor total no varejo de todos os produtos vendidos na semana passada. Utilize um TextField para ler o número de produto digitado pelo usuário. Utilize um laço controlado por sentinela quando o programa deve parar de repetir o laço e exibir os resultados finais. import java.text.NumberFormat; import java.util.Locale; import javax.swing.*; public class Pedidos { public static void main (String args[]){ String produto, quantidade; int codProduto, qtdProduto; double subtotal=0, total=0; NumberFormat valor = NumberFormat.getCurrencyInstance(Locale.getDefault()); JTextArea saida = new JTextArea(); produto = JOptionPane.showInputDialog("Digite o código do produto"); codProduto = Integer.parseInt(produto); saida.setText("Código\tValor Unitário\tQuantidade\tSubTotal\n"); while (codProduto != -1){ quantidade = JOptionPane.showInputDialog("Quantidade comprada"); qtdProduto = Integer.parseInt(quantidade); switch (codProduto){ case 1: subtotal = 2.98 * qtdProduto; 3 Linguagem de Programaç ão saida.append(codProduto+"\t"+valor.format(2.98)+ "\t"+qtdProduto+"\t"+valor.format(subtotal)+"\n"); break; case 2: subtotal = 4.50 * qtdProduto; saida.append(codProduto+"\t"+valor.format(4.50)+ "\t"+qtdProduto+"\t"+valor.format(subtotal)+"\n"); break; case 3: subtotal = 9.98 * qtdProduto; saida.append(codProduto+"\t"+valor.format(9.98)+ "\t"+qtdProduto+"\t"+valor.format(subtotal)+"\n"); break; case 4: subtotal = 4.49 * qtdProduto; saida.append(codProduto+"\t"+valor.format(4.49)+ "\t"+qtdProduto+"\t"+valor.format(subtotal)+"\n"); break; case 5: subtotal = 6.87 * qtdProduto; saida.append(codProduto+"\t"+valor.format(6.87)+ "\t"+qtdProduto+"\t"+valor.format(subtotal)+"\n"); break; default: JOptionPane.showMessageDialog(null, "Valor inválido.\n" + "Digite um valor entre 1 e 5, ou -1 para sair","Erro", JOptionPane.INFORMATION_MESSAGE); } produto = JOptionPane.showInputDialog("Digite o código do produto"); codProduto = Integer.parseInt(produto); total += subtotal; } saida.append("Valor total vendido: "+"\t\t"+valor.format(total)); JOptionPane.showMessageDialog(null, saida,"Vendas Semanal", JOptionPane.INFORMATION_MESSAGE); System.exit(0); } } 4