HOWTO · Java
Obter um Char a partir da entrada em Java
Explica as formas de introduzir um carácter em Java
Nesta página
Este artigo irá introduzir vários métodos que podemos utilizar para introduzir um carácter em Java. Podemos introduzir e ler uma frase inteira em Java, mas há muito poucas formas de ler um único carácter. Os exemplos seguintes mostram algumas formas e como utilizá-las.
Obtenha um caractere a partir da entrada utilizando Scanner.next().charAt(0) em Java
No primeiro exemplo, utilizaremos a classe Scanner para levar o input. Utilizamos scanner.next().charAt(0) para ler a entrada como char. charAt(0) lê o primeiro caracter do scanner.
import java.util.Scanner;
public class InputChar {
public static void main(String[] args) d {
Scanner scanner = new Scanner(System.in);
System.out.println("Please input a character: ");
char value = scanner.next().charAt(0);
System.out.println("Character: " + value);
}
}
Resultado:
Please input a character:
h
Character: h
Obter um char a partir da entrada utilizando System.in.read() em Java
O exemplo seguinte utiliza o System.in directamente para chamar o método read(). O System.in.read() lê um byte e retorna um int. Como cada carácter representa um número, podemos converter o int para um carácter e vice-versa.
Abaixo, lemos o input utilizando System.in.read() e depois lançamo-lo para um char para o converter num tipo de caractere.
import java.io.IOException;
public class InputChar {
public static void main(String[] args) throws IOException {
System.out.println("Please input a character: ");
char value = (char) System.in.read();
System.out.println("Character: " + value);
}
}
Resultado:
Please input a character:
j
Character: j
Obter um gráfico a partir da entrada utilizando InputStreamReader() em Java
Outro método semelhante ao anterior utiliza um InputStreamRead() que fornece o método read() tal como o System.in. Podemos utilizar este método read() para introduzir o carácter que retornará um int e depois lançá-lo a um char, como fizemos no exemplo abaixo.
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
public class InputChar {
public static void main(String[] args) throws IOException {
System.out.println("Please input a character: ");
Reader reader = new InputStreamReader(System.in);
int characterAsInt = reader.read();
char character = (char) characterAsInt;
System.out.println("Character: " + character);
}
}
Resultado:
Please input a character:
/
Character: /