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!