Resolução dos Exercícios

Transcrição

Resolução dos Exercícios
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