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