TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Recebendo dados do usuário: a classe Scanner

Pesquisas Acadêmicas: Recebendo dados do usuário: a classe Scanner. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  29/9/2013  •  Pesquisas Acadêmicas  •  1.356 Palavras (6 Páginas)  •  394 Visualizações

Página 1 de 6

Recebendo dados do usuário: a classe Scanner

Até o presente momento definimos as variáveis no momento em que estávamos programando.

Mas e se quiséssemos obter essa informação do usuário?

Por exemplo, para perguntar a idade ou para criar uma calculadora? Iríamos depender do que fosse digitado.

Usaremos a classe Scanner para receber esses dados.

Importando (import) classes (class) e pacotes (packages)

Existem milhares de funcionalidades no Java. Essas classes foram agrupadas em pacotes, os packages.

E pacotes para a mesma funcionalidade são chamados de API (Application Programming Interface). Por exemplo, temos uma seção sobre a API Java 2D, para fazer desenhos em 2D.

Ou seja, são uma série de pacotes para desenhar.

Porém, todos esses pacotes não estão simplesmente prontos para serem utilizados, pois são muitos.

Inclusive, você pode criar (e vai) os seus pacotes, pode baixar, reutilizar, compartilhar, vender etc.

Se todos estes estivessem prontos para utilização, demoraria MUITO para rodar um programa em Java.

Qual a solução então?

Vamos dizer ao Java quais funcionalidades queremos usar. Pra isso, usamos a função 'import':

import pacote_que_voce_quer_importar;

Por exemplo: para usar print, printf e println, não precisa dizer nada ao Java.

São métodos tão comuns que podem ser usadas automaticamente em qualquer aplicação.

Esses métodos fazem parte de um pacote chamado 'java.lang'.

Recebendo dados do usuário: new Scanner(System.in)

Para receber dados do usuário, temos que usar a classe Scanner, que faz parte do pacote 'java.util'.

Vamos dizer ao Java que usaremos essa classe na nossa aplicação

Para isso, adicione essa linha no começo do programa:

import java.util.Scanner;

Bom, temos a classe. Vamos declarar o nosso objeto do tipo Scanner.

Vamos chamá-lo de 'entrada'. Sua declaração é feita da seguinte maneira:

Scanner entrada = new Scanner(System.in);

Pronto, o objeto 'entrada' será usado para ler entradas do sistema.

Lembre-se que há uma forte tipagem por trás dos panos. Ou seja, o Java está lidando com bytes, blocos de memória e outras coisas mais complicadas.

Então, para ele, há muita diferença entre inteiros, float, doubles e outros tipos. Portanto, precisamos ser bem claros quanto a isso.

Assim, a nossa entrada será bem tipada. Vamos iniciar por inteiros.

Para receber um número inteiro do usuário, com nosso objeto 'entrada', usaremos a seguinte sintaxe:

inteiro = entrada.nextInt();

Explicações dadas, vamos ver a coisa funcionando. Esse é um exemplo bem simples que pergunta a idade do usuário, espera ele digitar (e dar enter) e exibe essa mensagem na tela:

import java.util.Scanner;

public class Entrada {

public static void main(String[] args) {

Scanner entrada = new Scanner(System.in);

int idade;

System.out.println("Digite sua idade: ");

idade = entrada.nextInt();

System.out.printf("Sua idade é " + idade + "\n");

}

}

Mas isso de 'qual sua idade?...19...você tem 19 anos', é meio tele-tubbie.

Você é programador Java, vulgo Paladino das Artes Computacionais.

O seguinte programa usa uma função que obtém o ano atual (do computador do usuário) e calcula o ano que o usuário nasceu, que é algo mais útil que repetir o que você acabou de digitar.

Para isso, usaremos a classe 'Calendar', que tem métodos para trabalharmos com dias, horas, dias da semana, minutos, segundos, anos etc.

Para saber mais sobre, acesse a documentação:

http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Calendar.html

Pra usar a 'Calendar', é necessário importar:

import java.util.Calendar;

Usaremos o método get(Calendar.YEAR), que retorna um inteiro com o ano, e vamos armazenar esse inteiro em uma variável 'ano'.

Então, nosso programa fica assim:

import java.util.Scanner;

import java.util.Calendar;

public class Entrada {

public static void main(String[] args) {

Scanner entrada = new Scanner(System.in);

int idade;

int ano_atual;

int ano_nascimento

// pergunta a idade e armazena

System.out.println("Digite sua idade: ");

idade = entrada.nextInt();

...

Baixar como (para membros premium)  txt (8.2 Kb)  
Continuar por mais 5 páginas »
Disponível apenas no TrabalhosGratuitos.com