Como eu pude ler as entradas do console usando a Scanner
classe? Algo assim:
System.out.println("Enter your username: ");
Scanner = input(); // Or something like this, I don't know the code
Basicamente, tudo que eu quero é que o scanner leia uma entrada para o nome de usuário e atribua a entrada a uma String
variável.
java
java.util.scanner
Hock3yPlayer
fonte
fonte
Respostas:
Um exemplo simples para ilustrar como
java.util.Scanner
funciona a leitura de um único número inteiroSystem.in
. É realmente bem simples.Para recuperar um nome de usuário, eu provavelmente usaria
sc.nextLine()
.Você também pode usar
next(String pattern)
se quiser mais controle sobre a entrada ou apenas validar ausername
variável.Você encontrará mais informações sobre sua implementação na documentação da API para
java.util.Scanner
fonte
fonte
Lendo dados do console
BufferedReader
está sincronizado, portanto, operações de leitura em um BufferedReader podem ser realizadas com segurança a partir de vários threads. O tamanho do buffer pode ser especificado ou o tamanho padrão ( 8192 ) pode ser usado. O padrão é grande o suficiente para a maioria dos propósitos.readLine () « apenas lê dados linha por linha do fluxo ou fonte. Uma linha é considerada terminada por qualquer um destes: \ n, \ r (ou) \ r \ n
Scanner
divide sua entrada em tokens usando um padrão delimitador, que por padrão corresponde a espaços em branco (\ s) e é reconhecido porCharacter.isWhitespace
.« Até que o usuário insira dados, a operação de digitalização poderá bloquear, aguardando a entrada. « Use o Scanner ( BUFFER_SIZE = 1024 ) se desejar analisar um tipo específico de token de um fluxo. « No entanto, um scanner não é seguro para threads. Tem que ser externamente sincronizado.
next () «Localiza e retorna o próximo token completo deste scanner. nextInt () «Verifica o próximo token da entrada como um int.
Código
Entradas e saídas de Stream
fonte
BufferedReader, Scanner
para ler dados de um arquivo de rede de arquivo local (OR).Há um problema com o método input.nextInt () - ele lê apenas o valor int.
Portanto, ao ler a próxima linha usando input.nextLine (), você recebe "\ n", ou seja, a Enterchave. Então, para pular isso, você deve adicionar o input.nextLine ().
Tente assim:
fonte
Existem várias maneiras de obter informações do usuário. Aqui neste programa, levaremos a classe Scanner para realizar a tarefa. Essa classe de scanner é incluída
java.util
, portanto a primeira linha do programa é import java.util.Scanner; que permite ao usuário ler valores de vários tipos em Java. A linha da instrução de importação deve estar na primeira linha do programa java e prosseguimos para o código.Para acessar métodos na classe Scanner, crie um novo objeto de scanner como "in". Agora usamos um de seus métodos, que é "próximo". O método "next" obtém a sequência de texto que um usuário digita no teclado.
Aqui estou usando
in.nextLine();
para obter a String que o usuário digita.fonte
fonte
Você pode criar um programa simples para solicitar o nome do usuário e imprimir o que a resposta usar.
Ou peça ao usuário para digitar dois números e você pode adicionar, multiplicar, subtrair ou dividir esses números e imprimir as respostas para as entradas do usuário, exatamente como o comportamento de uma calculadora.
Então, você precisa da classe Scanner. Você precisa
import java.util.Scanner;
e no código você precisa usar:input
é um nome de variável.Veja como isso é diferente:
input.next();
,i = input.nextInt();
,d = input.nextDouble();
De acordo com uma String, int e um double variam da mesma maneira para o resto. Não esqueça a declaração de importação na parte superior do seu código.
fonte
Um exemplo simples:
fonte
Quando o usuário entrar
username
, verifique também se há entradas válidas.fonte
Para ler a entrada:
Para ler a entrada quando você chama um método com alguns argumentos / parâmetros:
fonte
fonte
Aqui está a classe completa que executa a operação necessária:
fonte
Scanner
.Você pode fluir este código:
fonte
Você pode usar a classe Scanner em Java
fonte
Existe uma maneira simples de ler no console.
Encontre o código abaixo:
Para um entendimento detalhado, consulte os documentos abaixo.
Doc
Agora vamos falar sobre o entendimento detalhado do funcionamento da classe Scanner:
Este é o construtor para criar a instância do Scanner.
Aqui estamos passando a
InputStream
referência que nada mais é que aSystem.In
. Aqui ele abre oInputStream
Pipe para entrada do console.Ao passar o System.in, esse código abrirá o soquete para leitura no console.
fonte