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.");
}
}
LINKS EXTERNOS
Link para a documentação oficial da Classe Scanner. Link para a documentação oficial da função nextLine() da Classe Scanner. Link para a documentação oficial da função nextInt() da Classe Scanner.
Tags exercício, resolvidos, em, java
Comentários
comments powered by Disqus