Como obter entrada do usuário em Java [com exemplos]
Publicados: 2021-05-27Índice
Introdução
Receber a entrada do usuário em Java é o primeiro passo para criar um software de sucesso em Java. O programa Java coleta a entrada do usuário por meio de várias fontes de entrada, como mouse, teclado, solicitação de rede, argumentos CLI, etc. Java também possui vários pacotes de E/S que podem ser importados para o programa para realizar operações de entrada e saída. Esses pacotes suportam a entrada de tipos primitivos como double, integer, strings, etc.
Este artigo se concentrará em métodos como Scanner, BufferedReader e InputStreamReader para receber a entrada do usuário em Java .
Como obter entrada em Java usando a classe Scanner?
A classe Scanner é um dos métodos no pacote “java.util” que analisa e trata todas as entradas de tipo primitivo. A classe Scanner solicita que o usuário insira a entrada e, em seguida, imprime a mesma na tela ou no console. Você pode importar a classe Scanner do pacote “java.util” no programa e criar um objeto para usar seus métodos.
Por exemplo,
Teste do scanner = new Scanner(System.in);
Na instrução acima, o teste é o nome de um objeto e System.in é o fluxo de entrada. A instância do Scanner criada verificará a entrada do usuário em Java .
Nota: Não é necessário escrever System.in como string de entrada em seu programa. Você pode substituí-lo por um arquivo e um arquivo para ler, string como o fluxo de entrada.
Por exemplo,
Teste do scanner = new Scanner(new FileInputStream(“testFile.txt”), “UTF-8”);
Certifique-se de escrever o código {test.close()} para fechar o scanner quando terminar de editá-lo.
Métodos de scanner para leitura de entradas do usuário
A tabela a seguir lista os métodos que o scanner usa para ler a entrada em Java inserida pelo usuário.
Método | Tipo de devolução | Descrição |
Próximo() | Corda | Retorna o próximo token do Scanner |
nextByte() | Byte | Lê a próxima entrada como um byte. |
nextFloat() | Flutuador | Lê a próxima entrada como um float. |
nextInt() | inteiro | Lê a próxima entrada como um inteiro. |
próximoShort() | Curto | Leia a próxima entrada como um curto. |
próximoLong() | Grandes | Leia a próxima entrada como um longo. |
nextBoolean() | boleano | Lê a próxima entrada como um booleano e retorna o valor. |
próximaLinha() | Corda | Avança o scanner uma linha e retorna a entrada ignorada. |
Exemplo
O programa Java a seguir usa a classe Scanner para receber a entrada do usuário em Java (string, integer e afloat).
importar java.util.Scanner; classe TakeUserInput { public static void main(String args[]) { int um; flutuar b; Cadeia c; Teste do scanner = new Scanner(System.in); //Pega a entrada do usuário como String System.out.println(“Digite uma string: “); c = in.nextLine(); System.out.println("String de entrada do usuário é: "+c); // Pega a entrada do usuário como Integer System.out.println(“Digite um inteiro: “); a = in.nextInt(); System.out.println("Inteiro de entrada do usuário é: "+a); // Pega a entrada do usuário como float System.out.println(“Digite um número float: “); b = in.nextFloat(); System.out.println(“O número do Float de entrada do usuário é: “+b); }} |
Saída
Digite uma string: André A string de entrada do usuário é: Andrew Digite um número inteiro: 03 O inteiro de entrada do usuário é: 03 Digite um número flutuante: 61,46 O número flutuante de entrada do usuário é: 61,46 |
Se você quiser saber mais sobre como receber entrada em Java usando a classe scanner, confira a Entrada de várias strings em Java usando o blog Scanner.
Métodos BufferedReader e InputStreamReader
BufferedReader é outra classe em Java que verifica o fluxo de caracteres de um fluxo de entrada baseado em caracteres. InputStreamReader é uma função em Java que converte o fluxo de entrada em uma sequência de caracteres para o BufferedReader verificar. A classe BufferedReader aceita o InputStream como parâmetro.
A classe BufferedReader usa os métodos read() e readLine() para ler os caracteres e a próxima linha e os retorna.
Você deve importar o pacote java.io.BufferedReader para criar uma classe BufferedReader.
// Cria um FileReader
Teste FileReader = new FileReader(String file);
// Cria um BufferedReader
BufferedReader a = new BufferedReader(teste);
Obtenha diplomas de Engenharia de Software online das melhores universidades do mundo. Ganhe Programas PG Executivos, Programas de Certificado Avançado ou Programas de Mestrado para acelerar sua carreira.
Métodos BufferedReader para leitura de entradas do usuário
A tabela a seguir lista os métodos que o leitor em buffer usa para ler a entrada em Java inserida pelo usuário.
Método | Descrição |
pronto() | Verifica se o leitor de arquivos está em estado de leitura. |
marca() | Marca a posição no leitor em buffer até a qual os dados foram lidos. |
Redefinir() | Retorna o controle ao ponto em que a marca foi definida. |
Exemplo
O programa Java a seguir usa uma classe BufferedReader junto com uma classe InputStreamReader para receber a entrada do usuário em Java .
import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; teste de classe pública { public static void main(String[] args) { BufferedReader buffer = null; experimentar { String scanFirstLine; buffer = new BufferedReader(new FileReader(“D:\\user_input.txt”)); while ((scanFirstLine = buffer.readLine()) != null) { System.out.println(scanFirstLine); } } catch (IOException a) { a.printStackTrace(); } finalmente { experimentar { if (buffer != null) buffer.close(); } catch (IOException b) { b.printStackTrace(); } } } } |
Saída
Os seguintes dados são encontrados no arquivo: Esta é uma instrução de exemplo que o BufferedReader lê do arquivo. |
No exemplo acima, criamos um leitor em buffer chamado buffer. O leitor em buffer está vinculado ao arquivo “user_input.txt”.
Em seguida, usamos o método readLine() para escanear os caracteres do buffer do leitor em buffer.
Conclusão
Neste artigo, abordamos os métodos usados para receber a entrada do usuário em Java . Discutimos os métodos Scanner e BufferedReader, juntamente com exemplos. Também discutimos os métodos que as classes Scanner e BufferedReader usam para receber entradas em Java . Esperamos que você tenha uma compreensão básica de como lidar com entrada em Java . Se você quiser aprender mais a linguagem de programação Java, confira o curso Executive PG Program in Full Stack Development da upGrad projetado para profissionais que trabalham.