Para usar a classe do scanner, ela deve ser importada primeiro. Depois disso, um objeto deve ser instanciado dele. Depois de usar o objeto do scanner, ele deve ser fechado. O objeto de fluxo de entrada que representa o teclado é o sistema.em. O scanner tem muitos métodos. Somente os comumente usados serão explicados neste artigo.
Conteúdo do artigo
Uso simples da classe do scanner
O código a seguir pede ao usuário que digite uma frase e, em seguida, exibe a frase:
importar java.util.Scanner;A primeira linha importa a classe do scanner. Na função principal, a primeira linha cria um objeto de scanner usando o “sistema.em "objeto para o teclado. Assim que o objeto do scanner for criado, ele começa a esperar pela entrada. A próxima linha imprime uma declaração, pedindo ao usuário que digite uma frase. A linha seguinte no código usa o método nextline () do objeto Scanner para ler a frase do usuário depois que ele pressiona Enter. A linha depois, no código, reimpressa a frase na janela do terminal. A última linha fecha o objeto do scanner.
Cuspir linha de entrada em valores
O código a seguir divide a linha de entrada em palavras (tokens), usando o espaço como delimitador:
importar java.util.Scanner;hasNext () e Next () são outros dois métodos do objeto Scanner. Quando o objeto do scanner lê uma linha, ele o mantém. Em seguida () acessar o próximo token (palavra). hasnext () retorna true se houver algum outro token ainda não acessado.
Infelizmente, o usuário ainda deve digitar a entrada para dividir e se dividir com este código. Para acabar com tudo isso, pressione Ctrl+Z e você deve estar de volta ao prompt de comando.
No código acima, o delimitador separa os tokens no espaço. Outro personagem pode ser usado. O código a seguir usa a vírgula. Não se esqueça de pressionar Ctrl+Z para encerrar o loop se você testar o código.
importar java.util.Scanner;Se você testou o código, teria notado que os espaços em tokens foram incluídos como parte dos tokens (saída). A expressão, scanobj.usadoLimiter (","); digitado após a linha de entrada ter sido lida; é o que faz da vírgula, o delimitador.
Lendo e validando tipos de dados primitivos
Método NextBoolean ()
No código a seguir, espera -se que o usuário digite "verdadeiro" ou "falso" sem as cotações e pressione a tecla Enter se o usuário digitar mais alguma coisa, como "sim" ou "não", uma mensagem de erro será exibido.
importar java.util.Scanner;Como o Java emitirá uma mensagem de erro enquanto a entrada não for verdadeira ou falsa exatamente, o "else se" foi usado em vez de "else".
A diferença entre os métodos, Print e Println, é que a impressão espera a entrada na linha atual, enquanto o println espera a entrada na próxima linha.
Método NextByte ()
Com o conjunto de caracteres ASCII, um personagem é um byte. No entanto, com alguns conjuntos de caracteres orientais, um personagem pode consistir em mais de um byte. Independente do conjunto de personagens, o método NextByte lê e valida o próximo byte da entrada. O código a seguir pode ser usado para esse fim:
importar java.util.Scanner;Se um número maior que 127 ou um caractere alfabeto for inserido para este código, uma mensagem de erro seria emitida.
método nextInt ()
O próximo token inteiro como uma entrada também pode ser validado e aceito. O código a seguir pode ser usado:
importar java.util.Scanner;Espaços de liderança ou trilha foram removidos. Para este código, qualquer valor inteiro, incluindo valores maiores que 127, seria aceito. Com esses métodos seguintesxxx (), depois que a validação falha, uma mensagem de erro é emitida.
Método NextBigInteGer ()
Parece que os engenheiros de software nunca vão parar de criar coisas novas. Um grande número inteiro é um número inteiro cujo valor é muito maior que o de um número inteiro. No entanto, com Java, pode ser lido da mesma maneira que o inteiro. O código a seguir ilustra o seguinte:
importar java.util.Scanner;Observe a declaração de importação: “Importar java.matemática.Biginteger; ”. Além disso, observe que o tipo inteiro grande é iniciado com uma mancha B e não uma minúscula B.
método nextfloat ()
O próximo token de flutuação como uma entrada também pode ser validado e aceito. O código a seguir pode ser usado:
importar java.util.Scanner;Um exemplo de número de flutuação é 23.456. Espaços de liderança ou trilha foram removidos.
NextDouble ()
O próximo token duplo como entrada também pode ser validado e aceito. O código a seguir pode ser usado:
importar java.util.Scanner;Um exemplo de número duplo é 23.456. Um número duplo é diferente de um flutuador porque tem menos margem de erro. Espaços de liderança ou trilha foram removidos.
Método NextLine ()
O método NextLine () é para uma string. Se a string for a linha de entrada do teclado depois de pressionar Enter, ela pode ter o personagem Newline, '\ n'. O código a seguir pode ser usado:
importar java.util.Scanner;Observe que o tipo de string está iniciado com a mancha s e não com a minúscula s.
Os métodos NextLine (), HasNext () e Next () foram usados anteriormente, neste artigo. O scanner tem outros métodos e outros métodos de dados primitivos - veja mais adiante.
Atribuindo entrada a uma variável
A entrada pode ser atribuída a uma variável, como mostra o código a seguir:
importar java.util.Scanner;Conclusão
O scanner em Java é uma aula em Java.pacote Util. Esta classe tem como objetivo ler a entrada de uma string, o teclado, arquivo ou soquete de rede. Este artigo concentrou -se principalmente na leitura da entrada do teclado e na exibição do resultado na janela do terminal. Idéias semelhantes podem ser usadas para ler a entrada da string, arquivo ou canal de rede.
Para ler toda a linha de entrada do teclado, use o método NextLine (). A linha como string pode ser dividida em tokens, usando os métodos HasNext () e Next (), e o loop while. O delimitador padrão para dividir é o espaço, mas o programador pode escolher outro delimitador. Não se esqueça de fazer Ctrl+Z para parar o loop while, se necessário. A remoção de espaços de liderança e à direita pode ser feita usando outros esquemas não abordados neste artigo. A validação dos tokens também pode ser feita usando outros esquemas não abordados neste artigo.
Os valores primitivos podem ser lidos usando o NextBoolean (), NextByte (), NextInt (), etc. Esses métodos Nextxxx () fazem validação e também removem espaços de liderança e trilha.
O scanner Java tem muito mais métodos. No entanto, o uso básico do scanner foi explicado neste artigo. A seleção de um token é realmente feita usando técnicas de expressão regular. O uso de técnicas de expressão regular é a discussão, para algum outro momento.