Obter Entrada do Utilizador em Java
-
Scanner
para obter a entrada do utilizador em Java -
BufferedReader
para 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