nextChar() en java

Si estoy tomando de entrada con un escáner y quiero poner un solo personaje en una variable de tipo char, ¿cuál es la más eficiente algoritmo? Acabo de notar que tanto en next() y nextLine() devuelven cadenas sin importar el tamaño, y aparte de conseguir una cadena, de fundición en una matriz de char y luego tomar el primer elemento, no puedo pensar en cómo iba a hacer esto. Debe haber una manera más eficiente!

  • Usted no tiene que usar el escáner?
  • ¿Por qué usted piensa que una Cadena de entrada es ineficiente? ¿Cuál crees que es más lento o menos eficiente, Java llegar en una Cadena y la extracción de un char o la entrada del usuario en un carácter o caracteres?
  • Java char-las variables de tipo no son lo suficientemente grandes para sostener un personaje.
  • Java char tipo son de 16 bits de ancho. Qué codificación está usando que un tipo primitivo habría que trabajar para! Unicode de trabajo seguro.

2 Kommentare

  1. 2

    Usted podría utilizar FileChannel para crear un ByteBuffer. Una vez aquí, usted puede entonces llamar a la asCharBuffer() método para devolver un char buffer.

    Aquí un digno ejemplo:
    Ejemplo de uso de CharBuffers

    • esto sólo sería útil si los personajes eran utf16 codificados. eso no es un propósito general byte char utilidad de conversión.
    • java.lang.String(byte[] buf, codificación de Cadena) ?
  2. 1

    Para leer un carácter de entrada puede utilizar la función integrada char charAt():

    import java.util.Scanner;
    Scanner sc = new Scanner(System.in); 
    char c = sc.next().charAt(0)
    • Lo sc‘s tipo?

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea