Exercício: Polimorfismo (30 minutos)

Propaganda
Exercício: Lendo Dados do Teclado com as classes EasyIn e
JOptionPane
Introdução:
Neste exercício você construirá uma aplicação iterativa simples em Java que lê os
dados de entrada digitados pelo usuário. O programa usará as classes EasyIn e
JOptionPane para fazer a entrada dos dados.
Exercício 1: Lendo dados do Teclado com a classe EasyIn
(1.1) Compile e rode o programa LerEntradaDoTeclado:
1. Crie um projeto no JCreator. Adicione a esse projeto a classe
LerEntradaDoTeclado.java cujo código é mostrado na figura a seguir:
2. Baixe da página do curso o arquivo EasyIn.java e salve-o na mesma pasta onde
você criou a classe LerEntradaDoTeclado
3. Baixar o arquivo não é o suficiente. Você precisa incluí-lo no projeto.

Vá ao menu Project, opção Add Files... e localize o arquivo EasyIn.java

Seu projeto agora deverá parecer-se com:
4. Compile e rode o programa
5. Você deverá ter a seguinte interação. Neste exemplo, eu digitei “Jonas Knopman”
como entrada:
6. Modifique a classe LerEntradaDoTeclado para ler também sua idade, conforme
mostra o código abaixo. Observe a forma alternativa de uso da EasyIn onde o prompt
ao usuário é passado como argumento do método getXXX(...)
7. Compile e rode o código. Você deverá ter a seguinte interação:
Exercício 2: Lendo dados do Teclado com a classe JOptionPane
(2.1) Compile e rode o programa LerEntradaDoTeclado:
1. Crie um projeto no JCreator. Adicione a esse projeto a classe
LerEntradaDoTeclado.java cujo código é mostrado na figura a seguir:
2. Compile e rode o programa
3. Você deverá ter a seguinte interação. Neste exemplo, eu digitei “Jonas Knopman”
como entrada:
4. Modifique a classe LerEntradaDoTeclado para ler também sua idade, como
mostrado no código a seguir:
5. Compile e rode o programa
6. Você terá a seguinte interação:
(2.2) Convertendo o tipo “String” para um valor “int”:
Suponha que desejamos agora adicionar a seguinte lógica ao programa:
Se a idade digitada é maior do que 100, imprima:
Alo <nome>, você é velho!
Caso contrário, imprima:
Alo <nome>, você é jovem!
Observe no código anterior que seu programa recebeu a idade do usuário na forma de
uma String. O problema é que você não pode comparar a String “99” com o tipo
primitivo int 100. Em outras palavras, você tem de converter a String “99” no inteiro
99 antes de compará-la com a constante inteira 100. Felizmente, existe um método
chamado parseInt() na classe Integer para converter o tipo String no tipo int. Você
pode ver a documentação do método em:
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Integer.html
Role a janela até encontrar o método parseInt(String s)
Observe que o método parseInt() é um método estático e que, portanto, pode ser
chamado sem criar uma instância da classe Integer. Falaremos disso mais tarde.
Clique no hyperlink do método parseInt(String s). Observe os detalhes do método.
Observe que ele arremessa uma Exceção do tipo NumberFormatException:
1. Modifique a classe LerEntradaDoTeclado.java de modo a ler sua idade, conforme o
código mostrado a seguir:
2. Compile e rode este código. Você deve ter a seguinte interação:
3. Tente agora digitar um valor não numérico para a idade (por exemplo, a String
“XXX”). Você terá o erro mostrado a seguir. Isto é esperado (não aprendemos ainda
tratamento de erros). O que aconteceu é que o método parseInt() da classe Integer não
conseguiu converter a String “XXX” em um número inteiro e causou uma exceção. A
propósito, uma exceção é uma condição de erro. Boa prática de programação consiste
em capturar e tratar as exceções, o que você fará a seguir:
11. Modifique a classe LerEntradaDoTeclado. Introduza as modificações mostradas
na figura a seguir:
12. Compile e rode o código. Você deve ter a seguinte interação:
Trabalho adicional:
13. Introduza as seguintes modificações no arquivo LerEntradaDoTeclado usando
JOptionPane:

Faça o programa perguntar:
Por favor entre a idade de sua mãe:

Apresente a soma da sua idade com a idade de sua mãe:

Implemente ainda a seguinte lógica:
Se sua idade somada a de sua mãe é maior do que 200, imprima
A soma da sua idade com a de sua mãe é ...
Alô <nome>! Você e sua mãe devem ser velhos!
Caso contrário, imprima:
Alô <nome>! Você e sua mãe devem ser jovens!
Download