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!

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
Cara Pode ter certeza que tentarei te ajudar..
Só peço um pouco de paciencia ando meio sem tempo..
Valeu
;)
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 !!!
Muito obrigado amigo!