logo

Scanner Java

A classe Scanner em Java é encontrada no pacote java.util. Java fornece várias maneiras de ler a entrada do teclado, a classe java.util.Scanner é uma delas.

A classe Java Scanner divide a entrada em tokens usando um delimitador que é um espaço em branco por padrão. Ele fornece muitos métodos para ler e analisar vários valores primitivos.

A classe Java Scanner é amplamente usada para analisar texto em busca de strings e tipos primitivos usando uma expressão regular. É a maneira mais simples de obter informações em Java. Com a ajuda do Scanner em Java, podemos obter informações do usuário em tipos primitivos como int, long, double, byte, float, short, etc.

onclick javascript

A classe Java Scanner estende a classe Object e implementa interfaces Iterator e Closeable.

A classe Java Scanner fornece métodos nextXXX() para retornar o tipo de valor, como nextInt(), nextByte(), nextShort(), next(), nextLine(), nextDouble(), nextFloat(), nextBoolean(), etc. . Para obter um único caractere do scanner, você pode chamar o método next().charAt(0) que retorna um único caractere.

Madhubala

Declaração de classe do scanner Java

 public final class Scanner extends Object implements Iterator 

Como obter o scanner Java

Para obter a instância do Java Scanner que lê a entrada do usuário, precisamos passar o fluxo de entrada (System.in) no construtor da classe Scanner. Por exemplo:

 Scanner in = new Scanner(System.in); 

Para obter a instância do Java Scanner que analisa as strings, precisamos passar as strings no construtor da classe Scanner. Por exemplo:

 Scanner in = new Scanner('Hello Javatpoint'); 

Construtores de classe Java Scanner

SN Construtor Descrição
1) Scanner (fonte do arquivo) Ele constrói um novo Scanner que produz valores digitalizados do arquivo especificado.
2) Scanner(Fonte do arquivo, String charsetName) Ele constrói um novo Scanner que produz valores digitalizados do arquivo especificado.
3) Scanner (fonte InputStream) Ele constrói um novo Scanner que produz valores varridos do fluxo de entrada especificado.
4) Scanner (fonte InputStream, String charsetName) Ele constrói um novo Scanner que produz valores varridos do fluxo de entrada especificado.
5) Scanner (fonte legível) Ele constrói um novo Scanner que produz valores digitalizados da fonte especificada.
6) Scanner (fonte da string) Ele constrói um novo Scanner que produz valores verificados a partir da string especificada.
7) Scanner (fonte ReadableByteChannel) Ele constrói um novo Scanner que produz valores varridos do canal especificado.
8) Scanner (fonte ReadableByteChannel, String charsetName) Ele constrói um novo Scanner que produz valores varridos do canal especificado.
9) Scanner (fonte do caminho) Ele constrói um novo Scanner que produz valores digitalizados do arquivo especificado.
10) Scanner(Origem do caminho, String charsetName) Ele constrói um novo Scanner que produz valores digitalizados do arquivo especificado.

Métodos de classe Java Scanner

A seguir está a lista de métodos do Scanner:

SN Modificador e tipo Método Descrição
1) vazio fechar() É usado para fechar este scanner.
2) padrão delimitador() É usado para obter o Padrão que a classe Scanner está usando atualmente para corresponder aos delimitadores.
3) Fluxo encontrar tudo() É usado para encontrar um fluxo de resultados de correspondência que corresponda à sequência de padrões fornecida.
4) Corda encontrarInLine() É usado para encontrar a próxima ocorrência de um padrão construído a partir da string especificada, ignorando os delimitadores.
5) corda encontrar dentro do horizonte () É usado para encontrar a próxima ocorrência de um padrão construído a partir da string especificada, ignorando os delimitadores.
6) boleano temPróximo() Ele retorna verdadeiro se este scanner tiver outro token em sua entrada.
7) boleano hasNextBigDecimal() É usado para verificar se o próximo token na entrada deste scanner pode ser interpretado como BigDecimal usando o método nextBigDecimal() ou não.
8) boleano hasNextBigInteger() É usado para verificar se o próximo token na entrada deste scanner pode ser interpretado como BigDecimal usando o método nextBigDecimal() ou não.
9) boleano hasNextBoolean() É usado para verificar se o próximo token na entrada deste scanner pode ser interpretado como booleano usando o método nextBoolean() ou não.
10) boleano temNextByte() É usado para verificar se o próximo token na entrada deste scanner pode ser interpretado como um Byte usando o método nextBigDecimal() ou não.
onze) boleano hasNextDouble() É usado para verificar se o próximo token na entrada deste scanner pode ser interpretado como BigDecimal usando o método nextByte() ou não.
12) boleano hasNextFloat() É usado para verificar se o próximo token na entrada deste scanner pode ser interpretado como Float usando o método nextFloat() ou não.
13) boleano hasNextInt() É usado para verificar se o próximo token na entrada deste scanner pode ser interpretado como um int usando o método nextInt() ou não.
14) boleano temPróximaLinha() É utilizado para verificar se existe ou não outra linha na entrada deste scanner.
quinze) boleano hasNextLong() É usado para verificar se o próximo token na entrada deste scanner pode ser interpretado como Long usando o método nextLong() ou não.
16) boleano hasNextShort() É usado para verificar se o próximo token na entrada deste scanner pode ser interpretado como Short usando o método nextShort() ou não.
17) IOException ioException() Ele é usado para obter o IOException lançado pela última vez pelo legível deste Scanner.
18) Local local() É usado para obter um Locale da classe Scanner.
19) Resultado da partida corresponder() É usado para obter o resultado da correspondência da última operação de digitalização realizada por este scanner.
vinte) Corda próximo() É usado para obter o próximo token completo do scanner que está em uso.
vinte e um) GrandeDecimal próximoBigDecimal() Ele verifica o próximo token da entrada como BigDecimal.
22) Grande número inteiro próximoBigInteger() Ele verifica o próximo token da entrada como BigInteger.
23) boleano próximoBoolean() Ele verifica o próximo token da entrada em um valor booleano e retorna esse valor.
24) byte próximoByte() Ele verifica o próximo token da entrada como um byte.
25) dobro próximoDuplo() Ele verifica o próximo token da entrada como um duplo.
26) flutuador próximoFloat() Ele verifica o próximo token da entrada como um float.
27) interno próximoInt() Ele verifica o próximo token da entrada como um Int.
28) Corda próximaLinha() É usado para obter a string de entrada que foi ignorada do objeto Scanner.
29) longo próximoLong() Ele verifica o próximo token da entrada como um comprimento.
30) curto próximoCurto() Ele verifica o próximo token da entrada como um short.
31) interno raiz() É usado para obter a raiz padrão do uso do Scanner.
32) vazio remover() É usado quando a operação de remoção não é suportada por esta implementação do Iterator.
33) Scanner reiniciar() É usado para reiniciar o Scanner que está em uso.
3.4) Scanner pular() Ele ignora a entrada que corresponde ao padrão especificado, ignorando os delimitadores
35) Fluxo fichas() É usado para obter um fluxo de tokens separados por delimitador do objeto Scanner que está em uso.
36) Corda para sequenciar() É usado para obter a representação de string do Scanner usando.
37) Scanner useDelimitador() É usado para definir o padrão de delimitação do Scanner que está em uso para o padrão especificado.
38) Scanner usarLocale() É usado para definir o objeto de localidade deste scanner para a localidade especificada.
39) Scanner usarRadix() É usado para definir a base padrão do Scanner que está em uso para a base especificada.

Exemplo 1

Vamos ver um exemplo simples de Java Scanner onde obtemos uma única entrada do usuário. Aqui, estamos solicitando uma string por meio do método in.nextLine().

 import java.util.*; public class ScannerExample { public static void main(String args[]){ Scanner in = new Scanner(System.in); System.out.print('Enter your name: '); String name = in.nextLine(); System.out.println('Name is: ' + name); in.close(); } } 

Saída:

algoritmos de pesquisa binária
 Enter your name: sonoo jaiswal Name is: sonoo jaiswal 

Exemplo 2

 import java.util.*; public class ScannerClassExample1 { public static void main(String args[]){ String s = 'Hello, This is JavaTpoint.'; //Create scanner Object and pass string in it Scanner scan = new Scanner(s); //Check if the scanner has a token System.out.println('Boolean Result: ' + scan.hasNext()); //Print the string System.out.println('String: ' +scan.nextLine()); scan.close(); System.out.println('--------Enter Your Details-------- '); Scanner in = new Scanner(System.in); System.out.print('Enter your name: '); String name = in.next(); System.out.println('Name: ' + name); System.out.print('Enter your age: '); int i = in.nextInt(); System.out.println('Age: ' + i); System.out.print('Enter your salary: '); double d = in.nextDouble(); System.out.println('Salary: ' + d); in.close(); } } 

Saída:

 Boolean Result: true String: Hello, This is JavaTpoint. -------Enter Your Details--------- Enter your name: Abhishek Name: Abhishek Enter your age: 23 Age: 23 Enter your salary: 25000 Salary: 25000.0 

Exemplo 3

 import java.util.*; public class ScannerClassExample2 { public static void main(String args[]){ String str = 'Hello/This is JavaTpoint/My name is Abhishek.'; //Create scanner with the specified String Object Scanner scanner = new Scanner(str); System.out.println('Boolean Result: '+scanner.hasNextBoolean()); //Change the delimiter of this scanner scanner.useDelimiter('/'); //Printing the tokenized Strings System.out.println('---Tokenizes String---'); while(scanner.hasNext()){ System.out.println(scanner.next()); } //Display the new delimiter System.out.println('Delimiter used: ' +scanner.delimiter()); scanner.close(); } } 

Saída:

 Boolean Result: false ---Tokenizes String--- Hello This is JavaTpoint My name is Abhishek. Delimiter used: /