Pergunta

O que é Scanner Método para obter um char devolvido pelo teclado em Java.

Curti nextLine() por String, nextInt() por int, etc.

Foi útil?

Solução

Para obter um char a partir de um Scanner, você pode usar o findInLine método.

    Scanner sc = new Scanner("abc");
    char ch = sc.findInLine(".").charAt(0);
    System.out.println(ch); // prints "a"
    System.out.println(sc.next()); // prints "bc"

Se você precisar de um monte de char a partir de um Scanner, pode ser mais conveniente (talvez temporariamente) alterar o delimitador para a string vazia. Isso fará next() Retorna uma corda de comprimento-1 sempre.

    Scanner sc = new Scanner("abc");
    sc.useDelimiter("");
    while (sc.hasNext()) {
        System.out.println(sc.next());
    } // prints "a", "b", "c"

Outras dicas

Você pode usar o API do console (que apareceu em Java 6) da seguinte maneira:

Console cons = System.console();
if(cons != null) {
  char c = (char) cons.reader().read();  // Checking for EOF omitted
  ...
}

Se você só precisa de uma única linha, nem precisa passar pelo objeto do leitor:

String s = cons.readLine();

A classe Scanner de Java não possui um método embutido para ler a partir de um personagem por caractere do scanner.

http://java.sun.com/javase/6/docs/api/java/util/scanner.html

No entanto, ainda deve ser possível buscar personagens individuais do scanner da seguinte maneira:

Scanner sc:

char c = sc.findInLine(".").charAt(0);

E você pode usá -lo para buscar cada personagem em seu scanner assim:

while(sc.hasNext()){
    char c = sc.findInLine(".").charAt(0);
    System.out.println(c); //to print out every char in the scanner
}

O método findInline () pesquisa através do seu scanner e retorna a primeira string que corresponde à expressão regular que você a fornece.

Console cons = System.console();

A linha de código acima cria contras como uma referência nula. O código e a saída são fornecidos abaixo:

Console cons = System.console();
if (cons != null) {
    System.out.println("Enter single character: ");
    char c = (char) cons.reader().read();
    System.out.println(c);
}else{
    System.out.println(cons);
}

Resultado :

nulo

O código foi testado no MacBook Pro com a versão Java "1.6.0_37"

SC.Next (). Charat (0) ......... é o método de inserir o caráter por usuário com base no número inserido no tempo de execução

Exemplo: SC.Next (). Charat (2) ------------ >>>>>>>>

Scanner sc = new Scanner (System.in)
char c = sc.next().trim().charAt(0);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top