¿Cómo funciona el método java findwithinhorizon?
Sin revolcarse en demasiados detalles, así es como la findWithinHorizon (".", 0) .charAt (0) técnica funciona: Java findWithinHorizon método busca cosas en la entrada. Las cosas que el método encuentra depende de las cosas que pone entre paréntesis. Por ejemplo, una llamada a findWithinHorizon (" d d d", 0) mira para un grupo que consta de tres dígitos. Con la siguiente línea de código
System.out.println (keyboard.findWithinHorizon (" d d d", 0)) -
Puede escribir
Prueba 123 Pruebas Pruebas
y el ordenador responde mostrando
123
En la llamada findWithinHorizon (" d d d", 0), cada d significa un solo dígito. Esta d negocio es una de las muchas abreviaturas en código especial llamado expresiones regulares.
Ahora aquí hay algo extraño. En el mundo de las expresiones regulares, un punto representa cualquier carácter. (Es decir, un punto significa " cualquier carácter, no necesariamente un punto "). Así findWithinHorizon (".", 0) narra la computadora para encontrar el siguiente carácter de cualquier tipo que el usuario escribe en el teclado. Cuando usted está tratando de introducir un único carácter, findWithinHorizon (".", 0) es poderosa utilidad.
En la llamada findWithinHorizon (" d d d", 0), el 0 dice findWithinHorizon a seguir buscando hasta el final de la entrada. Este valor 0 es un caso especial, ya que no sea nada 0 limita la búsqueda a un determinado número de caracteres. (Es por eso que el nombre del método contiene la palabra horizonte. los horizonte es por lo que el método ve) Aquí están algunos ejemplos.:
Con la misma entrada Prueba 123 Pruebas Pruebas, la llamada findWithinHorizon (" d d d", 9) devoluciones nulo. Devuelve nulo porque los primeros nueve caracteres de la entrada (de los personajes Prueba 1 - siete letras, un espacio en blanco, y un dígito) no contienen tres dígitos consecutivos. Estos nueve caracteres no coinciden con el patrón d d d.
Con la misma entrada, la llamada findWithinHorizon (" d d d", 10) También devuelve nulo. Devuelve nulo porque los diez primeros caracteres de la entrada (de los personajes Testing 12) No contienen tres dígitos consecutivos.
Con la misma entrada, la llamada findWithinHorizon (" d d d", 11) devoluciones 123. Devuelve 123 porque los primeros 11 caracteres de la entrada (de los personajes Prueba 123) Contienen estos 3 dígitos consecutivos.
Con la entrada Prueba A57B442123, la llamada findWithinHorizon (" d d d", 12) devoluciones 442. Devuelve 442 porque entre los primeros 12 caracteres de la entrada (los caracteres Prueba A57B442123), La primera secuencia que consta de 3 dígitos consecutivos es la secuencia 442.
¡Pero espera! Para tomar un solo carácter desde el teclado, se llama a findWithinHorizon (".", 0) .charAt (0). ¿Cuál es el papel de la charAt (0) en la lectura de un solo personaje? Alguna findWithinHorizon llamada se comporta como si se trata de encontrar un montón de personajes, no sólo un único carácter. Incluso cuando llame findWithinHorizon (".", 0), y el ordenador obtiene sólo una letra en el teclado, el programa Java trata a esa carta como una de posiblemente muchos caracteres de entrada.
La llamada a charAt (0) se ocupa del problema de varios caracteres. Esta charAt (0) llamada dice Java para recoger el carácter inicial de cualquiera de los personajes que findWithinHorizon Obtiene.