Você está na página 1de 5

Exercícios Resolvidos - Capítulo 3

1. Crie uma classe que receba dois valores pelo teclado (use JOptionPane): o valor de um produto
e um código de aumento, segundo a tabela 3.1. Utilizando a estrutura switch-case, mostre na tela o novo
valor do produto depois de acrescida a porcentagem correspondente. Realize também o controle dos
possíveis erros que podem ocorrer durante a execução do programa.

Código % aumento
1 15
3 20
4 35
8 40

Tabela 3.1

package cap03;
/* Java 7 - Ensino Didático
* Autor Sérgio Furgeri
*/
import javax.swing.*;
public class Exercicio0301 {
public static void main(String args[]) {
String aux1 = JOptionPane.showInputDialog(null,
"Forneça o valor do produto:");
if (aux1 == null)
System.exit(0);

String aux2 = JOptionPane.showInputDialog(null,


"Forneça o código do aumento:");
if (aux2 == null)
System.exit(0);

try {
float valor = Float.parseFloat(aux1);
int codigo = Integer.parseInt(aux2);
switch (codigo) {
case 1:
JOptionPane.showMessageDialog(null, "Valor com
aumento: "
+ (valor * 1.15));
break;
case 3:
JOptionPane.showMessageDialog(null, "Valor com
aumento: "
+ (valor * 1.2));
break;
case 4:
JOptionPane.showMessageDialog(null, "Valor com
aumento: "
+ (valor * 1.35));
break;
case 8:
JOptionPane.showMessageDialog(null, "Valor com
aumento: "
+ (valor * 1.40));
break;
default:
JOptionPane.showMessageDialog(null,
"Código de aumento desconhecido!");
}
}
catch (NumberFormatException erro) {
JOptionPane
.showMessageDialog(null,
"Houve erro na conversão,
digite apenas caracteres numéricos!");
}
System.exit(0);
}
}

2. Faça uma classe que receba três números inteiros e mostre o maior dentre eles. Observação: para
quebrar uma linha dentro da caixa de diálogo, utilize "\n".

package cap03;
/* Java 7 - Ensino Didático
* Autor Sérgio Furgeri
*/
import javax.swing.*;
public class Exercicio0302 {
public static void main(String args[]) {
String aux1 = JOptionPane.showInputDialog(null, "Forneça o
1º número:");
if (aux1 == null)
System.exit(0);

String aux2 = JOptionPane.showInputDialog(null, "Forneça o


2º número:");
if (aux2 == null)
System.exit(0);

String aux3 = JOptionPane.showInputDialog(null, "Forneça o


3º número:");
if (aux3 == null)
System.exit(0);

try {

int maior = Integer.parseInt(aux1);


int num2 = Integer.parseInt(aux2);
int num3 = Integer.parseInt(aux3);
if (num2 > maior)
maior = num2;
if (num3 > maior)
maior = num3;
JOptionPane.showMessageDialog(null, "Números
fornecidos:\n" + aux1
+ "\n" + aux2 + "\n" + aux3 + "\nMaior
número: " + maior);
}
catch (NumberFormatException erro) {
JOptionPane.showMessageDialog(null,
"Nao foi fornecido um numero inteiro
valido");
}
System.exit(0);
}
}

3. Apresente uma classe que mostre a soma dos cem primeiros números inteiros (1 + 2 + 3 + 4 + 5
+ 6 + 7 + ........ + 97 + 98 + 99 + 100).

package cap03;
/* Java 7 - Ensino Didático
* Autor Sérgio Furgeri
*/
public class Exercicio0303 {
public static void main(String args[]) {
int i, soma;
soma = 0;
i = 0;
while (i < 101) {
soma = soma + i;
i++;
}
JOptionPane.showMessageDialog(null, "Somatória = " + soma);
System.exit(0);
}
}

4. Construa uma classe que calcule o produto dos inteiros ímpares de 1 a 15 e exiba o resultado na tela,
como a figura 3.13.

package cap03;
/* Java 7 - Ensino Didático
* Autor Sérgio Furgeri
*/
import javax.swing.*;
public class Exercicio0304 {
public static void main(String args[]) {
int total = 1;
for (int i = 3; i <= 15; i = i + 2)
total *= i;

JOptionPane.showMessageDialog(null, "Total = " + total);


System.exit(0);
}
}

5. Crie uma classe que receba dois números inteiros e realize a contagem pausadamente (na tela
de prompt) do primeiro até o segundo número.

package cap03;
/* Java 7 - Ensino Didático
* Autor Sérgio Furgeri
*/
import javax.swing.*;
public class Exercicio0305 {
public static void main(String args[]) {
String aux1 = JOptionPane.showInputDialog(null, "Forneça o
1º número:");
if (aux1 == null)
System.exit(0);

String aux2 = JOptionPane.showInputDialog(null, "Forneça o


2º número:");
if (aux2 == null)
System.exit(0);

try {
int num1 = Integer.parseInt(aux1);
int num2 = Integer.parseInt(aux2);
Thread tempo;
tempo = new Thread();
tempo.start();
for (int i = num1; i <= num2; i++) {
System.out.println(i);
tempo.sleep(1000);
}
}
catch (InterruptedException erro) {

}
System.exit(0);
}
}

6. Elabore uma classe para cálculo do salário líquido em que três valores devem ser informados pelo
usuário na linha de comando: a quantidade de horas trabalhadas, o salário-hora e o número de
dependentes. O programa deve mostrar na tela as informações que estão no lado esquerdo da
tabela seguinte. Os cálculos correspondentes aparecem no lado direito.
Informação Cálculo
Salário Bruto Horas trabalhadas * Salário Hora + (50 * Nº Dependentes)
-Se Salário Bruto <= 1000 INSS= Salário Bruto * 8.5/100
Desconto INSS
-Se Salário Bruto > 1000 INSS= Salário Bruto * 9/100
-Se Salário Bruto <= 500 IR=0
Desconto IR -Se Salário Bruto > 500 e <= 1000 IR= Salário Bruto * 5/100
-Se Salário Bruto > 1000 IR= Salário Bruto * 7/100
Salário Líquido Salário Bruto - INSS – IR

package cap03;
/* Java 7 - Ensino Didático
* Autor Sérgio Furgeri
*/
import javax.swing.*;
public class Exercicio0306 {
public static void main(String args[]) {
float qht, sh, sb, nd, ir;
double inss = 0;
nd = 0;
ir = 0;

String aux1 = JOptionPane.showInputDialog(null,


"Forneça a qtde de horas:");
if (aux1 == null)
System.exit(0);

String aux2 = JOptionPane.showInputDialog(null,


"Forneça o salário hora:");
if (aux2 == null)
System.exit(0);

String aux3 = JOptionPane.showInputDialog(null,


"Forneça o nº de dependentes:");
if (aux3 == null)
System.exit(0);

qht = Float.parseFloat(aux1); // converte String para float


sh = Float.parseFloat(aux2);
nd = Float.parseFloat(aux3);
sb = qht * sh + (50 * nd);
if (sb <= 500) {
ir = 0;
inss = sb * 8.5 / 100;
}
else if (sb > 500 && sb <= 1000) {
ir = sb * 5 / 100;
inss = sb * 8.5 / 100;
}
else {
ir = sb * 7 / 100;
inss = sb * 9 / 100;
}
JOptionPane.showMessageDialog(null, "Autor: Professor
Sergio Furgeri"
+ "\nHoras trabalhadas = " + qht + "\nSalario
Hora = " + sh
+ "\nDependentes = " + nd + "\nSalario = " +
(sb - nd * 50)
+ "\nAdicional dependentes = " + nd * 50 +
"\nSalario Bruto = "
+ sb + "\nDesconto INSS = " + inss +
"\nDesconto IR = " + ir
+ "\nSalario Liquido = " + (sb - inss - ir));
System.exit(0);
}
}