Nesta aula resolveremos exercícios que envolvem o envio e a leitura de dados para a saída padrão.

EXERCÍCIO

Faça um programa que peça o nome, idade e cidade de nascimento do usuário. Em seguida, imprima a frase abaixo trocando as tag’s <nome>, <idade>, <cidade>, pelo nome, idade e cidade informado pelo usuário.

"Ola. Meu nome é <nome>, sou natural de <cidade>, tenho <idade> anos e estou aprendendo a programar."

NOTA

O usuário João Moacir Barth Junior fez uma correção e um adendo a implementação que fizemos nesta aula. A seguir, há uma explicação do problema por ele observado.

O código a seguir executa sem quaisquer erro. Porém, é importante observar a forma como iremos ler números inteiros.

Na resolução do exercício lemos um número inteiro utilizando a seguinte linha de código:

int idade = in.nextInt();

O código acima funciona e o número digitado no Console pelo usuário é passado para a variável inteira idade. Porém, a instrução nextInt() lê um ou N valores inteiros, desde que estes estejam separados por espaço. Isso significa que após lermos um número com a função nextInt() o Cursor continuara na mesma linha e será nossa tarefa posicionar o mesmo na linha abaixo, caso queiramos que ler outros valores pelo Console que o nosso usuário venha a digitar.

Pra isso, é necessário invocar a função nextLine(), do contrário, será levantado uma exceção. A seguir temos o código que deverá ser utilizado para ler números inteiros e em seguida, posicionar o Cursor na linha seguinte.

int idade = in.nextInt();
in.nextLine();

EXERCÍCIO RESOLVIDO

import java.util.Scanner;
/**
 * ====================================
 *           eXcript.com
 *          fb.com/eXcript
 * ====================================
 */

public class J0011 {

    //Lendo e imprimindo textos e números
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 1) pedir pro usuário informar:
            //1) Nome
        System.out.println("Digite o seu nome: ");
        String nome = in.nextLine();
            //2) Idade
            System.out.println("Informe a sua idade: ");
            int idade = in.nextInt();
            //3) Cidade
            System.out.println("Informe a sua cidade de nascimento: ");
            String cidade = in.next();

        // 2) armazenar as informações do usuário em variáveis
        // 3) alterar a frase do enunciado
        // Ola. Meu nome é <nome>, sou natural de <cidade>,
        //  tenho <idade> anos, e estou aprendendo a programar.
            System.out.print("Ola. Meu nome é "+nome);
            System.out.print(", sou natural de "+cidade);
            System.out.print(", tenho "+idade);
            System.out.print(" anos, e estou aprendendo a programar.");
    }
}


Tags exercício, resolvidos, em, java

Comentários

comments powered by Disqus