Java para Iniciantes #10 Leitura de Dados

Java - Como Programar

LEITURA DE DADOS

Hoje vou falar sobre alguns tipos de leitura de dados em java.

A leitura de dados java facilita e facilitará a criação de programas, e será muito útil  para os tutoriais, pois agora poderei mostrar alguns exemplos melhores e mais avançados de algorítimos e programas que utilizarão de leitura de dados.

A leitura de dados, a partir de um programa em Java, pode ser feita de várias maneiras.
Eu mostrarei duas maneiras o Buffered e o Scanner.
Com elas você pode fazer leitura diretamente no console ou prompt quando for executar um programa.

Primeiro irei mostrar como usar o BufferedReader

Você terá que de criar uma variável do tipo BufferedReader na memória, para fazer isso basta entender  bem a estrutura que é simples:

BufferedReader VRIAVEL = new BufferedReader(new InputStreamReader(System.in));

ou

BufferedReader VRIAVEL;
VARIAVEL = new BufferedReader(new InputStreamReader(System.in));

Depois você deverá fazer a leitura de dados no console, não é muito de difícil entender seu funcionamento:
-Declarar uma variável qual você irá atribuir o valor capturado no console
-Capturar o valor, convertendo o número capturado (um Caractere) para o tipo Primitivo que irá precisar

Ficará assim:

int meuvalor = Integer.parseInt(VRIAVEL.readLine());

Nesse caso acima foi capturado um número qualquer e convertido para inteiro, abaixo mostrarei como converter para outros tipos.

NOTA: Quando você for implementar essa leitura é possível que acuse algum erro para evitar isso você deve importar o pacote BufferedReader e o pacote InputStreamReader.

Vamos a um exemplo simples dessa Leitura:

import java.io.BufferedReader;
import java.io.InputStreamReader;
 
public class ler {
	public static void main(String[] args) {
		//Inserir números via console
		BufferedReader leitor;
		leitor = new BufferedReader(new InputStreamReader(System.in));
		int a;
		try{
			System.out.println(
					"Escolha 1 para SIM \n" +
					"Escolhar 2 para NÃO \n"
			);
			a = Integer.parseInt(leitor.readLine());
 
			if (a==1){
				System.out.println(
					"Você escolheu a opção SIM"
				);
			}
			if(a==2){
				System.out.println(
					"Você escolheu a opção NÃO"
				);
			}
			if(a>;2 || a<1){
				System.out.println(
					"Você escolheu uma Opção Inválida"
				);
			}
		}catch (Exception e) {
			// caso algo diferente de numeros seja digitado
				System.out.println(
					"Houve um erro de exceção"
				);
		}
	}
}

Outros Exemplos de Conversão:

		String St = leitor.readLine();
		//String não é uma conversão
 
		byte b = Byte.parseByte(leitor.readLine());
 
		short s = Short.parseShort(leitor.readLine());
 
		int i = Integer.parseInt(leitor.readLine());
 
		long l = Long.parseLong(leitor.readLine());
 
		float f = Float.parseFloat(leitor.readLine());
 
		double d = Double.parseDouble(leitor.readLine());

Vou mostrar mais um exemplo de uso dessa Leitura, mas utilizarei uma String, e um laço para capturar o que é digitado nas linhas do console, e no final o programa irá imprimir o que foi armazenado.
Veja:

import java.io.BufferedReader;//importa pacote
import java.io.InputStreamReader;//importa pacote 
 
public class ler {
	public static void main(String[] args) {//classe main
		//inicia o buffer
		BufferedReader leitor  = new BufferedReader(new InputStreamReader(System.in));
		//teste de Exceção
		try{
			System.out.println("Digite 5 linhas");
			String c = "" ;//inicia a variavel com um valor vazio
			int x=5; //Variável do contador
			while(x>;0){//laço para ler as 5 linhas
				/**
				 * Abaixo soma o que ja está na variavel 'c'
				 * com um espaço mais o que for inserido no console
				 */
				c = c+" "+leitor.readLine();
				x--;
			}
			System.out.println(c);//imprime toda a variável c
		}catch (Exception e) {
			// Caso de Exceção
			System.out.println(
					"Houve um erro de exceção"
			);
		}
	}
}

Agora é só usar o BufferedReader em suas aplicações que tornará a solução de problemas mais fácil.

Agora vamos usar o SCANNER

A classe Scanner é tão fácil quanto o BufferedReader ou até mais.

Da mesma maneira que o Buffered você tem que declarar uma variável, essa será do Tipo Scanner. E a Estrutura utilizada será a mesma.
Veja:

		Scanner leia = new Scanner (System.in);

ou

		Scanner leia ;
		leia = new Scanner (System.in);

Iremos usar os atributos chamados nextLine e nextInt para capturar os valores das linhas.
Veja o código comentado:

import java.util.Scanner;//pacote Scanner
public class Scan {
	public static void main(String[] args) {  //classe main
	/** Declaração Scanner**/
		Scanner leia = new Scanner (System.in);
 
		System.out.print ("Seu nome: ");
	/**Captura nome e vai para a proxima linha com o nextLine()**/
		String nome1 =	leia.nextLine();  //lê o nome no console
 
		System.out.print ("Sua Idade: ");
	/**Utiliza do nextInt para capturar um número, 'converter' o  nextLine**/
		int Idade1 = leia.nextInt(); leia.nextLine(); 
 
		System.out.print ("Nome de outra pessoa: ");
		String nome2 =
			leia.nextLine();  
 
		System.out.print ("Idade: ");
		int Idade2 =
			leia.nextInt();leia.nextLine();  
 
			/** Condições que compara a idade **/
		System.out.println ("A pessoa mais velha é: ");
		if (Idade1 >Idade2) {
			System.out.println (nome1+ " com "+ Idade1+" anos ");
		} else if (Idade1< Idade2) {
			System.out.println (nome2+ " com "+ Idade2+" anos ");
		} else {
			System.out.println (
					nome1+	" e "+
					nome2+	" Tem a mesma Idade"
			);
		}
	}
}

Bom agora é só brincar com a leitura de dados, testar as possibilidades, checar os erros e testar novamente.
Qualquer dúvida comente.

Seja Responsável, crie você mesmo!

Veja Também:

4 thoughts on “Java para Iniciantes #10 Leitura de Dados

  1. Em primeiro lugar parabens, estou realmente aprendendo java com seu site, gostaria de saber se teria uma video aula ou post que ensina como criar um cadastro qualquer por exemplo e base de dados, ou seja necessito aprender a trabalhar com base de dados, sou desenvolvedor em Visual FoxPro e seus posts estão me ajudando muito, e tudo de bom

  2. Bom dia Richard,
    um amigo indicou seu blog, é que estou tentando iniciar em java, gostei do conteudo que vc postou para quem esta começando em java.
    Valeu !!!

Deixe um Comentário

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>