Obter Entrada do Utilizador em Java
- 
          
            Scannerpara obter a entrada do utilizador em Java
- 
          
            BufferedReaderpara obter a entrada do utilizador em Java
 
Neste artigo, discutiremos a melhor abordagem para obter a entrada do utilizador em Java. Embora haja muitas formas de o fazer, alguns desses métodos já estão depreciados, e assim estaremos a evitá-los.
Scanner para obter a entrada do utilizador em Java
    
Podemos utilizar o Scanner para atingir o nosso objectivo. Precisamos de criar um objecto da classe e passar o System.in ao seu construtor porque abre um InputStream para obter a entrada do utilizador.
O passo seguinte é utilizar o objecto Scanner e chamar um dos seguintes métodos. Cada método toma o valor de entrada dos diferentes tipos de dados.
| Método | Descrição | 
|---|---|
| next() | Valor da string | 
| nextInt() | Valor inteiro | 
| nextByte() | Valor do byte | 
| nextLong() | Valor longo | 
| nextFloat() | Valor do flutuador | 
| nextDouble() | Valor duplo | 
No nosso exemplo abaixo, utilizaremos o método nextInt(), que toma valores inteiros.
Exemplo:
import java.util.Scanner;
public class Main {
  public static void main(String[] args) {
    Scanner inputReader = new Scanner(System.in);
    System.out.println("Enter a number: ");
    int number = inputReader.nextInt();
    System.out.println("Your entered number was: " + number);
  }
}
Resultado:
Enter a number: 
454
Your entered number was: 454
BufferedReader para obter a entrada do utilizador em Java
Temos outra classe que poderia obter o input do utilizador. O BufferedReader utiliza fluxos de caracteres para ler o texto da entrada, enquanto que o Scanner pode ser utilizado quando nós somos o tipo primitivo de entrada.
Isto significa que não tem métodos como nextInt() na classe BufferedReader, mas tem um método readLine() que leva o input e depois podemos analisá-lo mais tarde.
No exemplo abaixo, estamos a tomar o input como um int. Temos de ler o input e depois analisá-lo em tipo int utilizando Integer.parseInt(String). Devemos rodear as afirmações por um bloco de try-catch, uma vez que a IOException pode aparecer se não houver dispositivos de entrada externos.
Exemplo:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
  public static void main(String[] args) throws IOException {
    InputStreamReader isr = new InputStreamReader(System.in);
    BufferedReader br = new BufferedReader(isr);
    try {
      System.out.println("Please enter a number: ");
      String s = br.readLine();
      int i = Integer.parseInt(s);
      System.out.println("Your entered number was: " + i);
    } catch (IOException e) {
      e.printStackTrace();
    }
    br.close();
  }
}
Resultado:
Please enter a number: 
454
Your entered number was: 454
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn