Comment fonctionne la méthode java findwithinhorizon?

Sans se vautrer dans trop de détails, voici comment la findWithinHorizon (".", 0) .charAt (0) technique fonctionne: Java de findWithinHorizon méthode recherche les choses dans l'entrée. Les choses de la méthode trouve dépendent les trucs que vous mettez entre parenthèses. Par exemple, un appel à findWithinHorizon (" d d d", 0) recherche un groupe composé de trois chiffres. Avec la ligne de code suivante

System.out.println (keyboard.findWithinHorizon (" d d d", 0)) -

Vous pouvez taper

Test Test Test 123

et l'ordinateur répond en affichant




123

Dans l'appel findWithinHorizon (" d d d", 0), chaque d représente un seul chiffre. Ce é entreprise est l'un des nombreux sigles en code spécial appelé expressions régulières.

Maintenant, voici quelque chose d'étrange. Dans le monde des expressions régulières, un point remplace tout caractère du tout. (Autrement dit, un point est synonyme de “ importe quel caractère, pas nécessairement un point ”.) Donc, findWithinHorizon (".", 0) indique à l'ordinateur pour trouver le prochain caractère de toute nature que l'utilisateur tape sur le clavier. Lorsque vous essayez de saisir un seul caractère, findWithinHorizon (".", 0) est puissante utile.

Dans l'appel findWithinHorizon (" d d d", 0), la 0 raconte findWithinHorizon de continuer à chercher jusqu'à la fin de l'entrée. Cette valeur 0 est un cas particulier car autre chose que 0 limite la recherche à un certain nombre de caractères. (Voilà pourquoi le nom de la méthode contient le mot horizon. La horizon est aussi loin que la méthode voit) Voici quelques exemples.:

  • Avec la même entrée Test Test Test 123, l'appel findWithinHorizon (" d d d", 9) retours nul. Il retourne nul parce que les neuf premiers caractères de l'entrée (les caractères Test 1 - sept lettres, un espace vide, et un chiffre) ne contiennent pas de trois chiffres consécutifs. Ces neuf caractères ne correspondent pas au modèle d d d.

  • Avec la même entrée, l'appel findWithinHorizon (" d d d", 10) renvoie aussi nul. Il retourne nul parce que les dix premiers caractères de l'entrée (les caractères Test 12) Ne contiennent pas de trois chiffres consécutifs.

  • Avec la même entrée, l'appel findWithinHorizon (" d d d", 11) retours 123. Il retourne 123 parce que les 11 premiers caractères de l'entrée (les caractères Test 123) Contiennent ces 3 chiffres consécutifs.

  • Avec l'entrée Test A57B442123, l'appel findWithinHorizon (" d d d", 12) retours 442. Il retourne 442 parce que parmi les 12 premiers caractères de l'entrée (les caractères A57B442123 test), La première séquence composée de 3 chiffres consécutifs est la séquence 442.

Mais attendez! Pour saisir un caractère unique à partir du clavier, vous appelez findWithinHorizon (".", 0) .charAt (0). Quel est le rôle de charAt (0) en lisant un caractère unique? Quelconque findWithinHorizon appel se comporte comme si elle est de trouver un tas de personnages, et pas seulement un seul caractère. Même lorsque vous appelez findWithinHorizon (".", 0), et l'ordinateur récupère seulement une lettre du clavier, le programme Java traite cette lettre comme l'un des nombreux personnages éventuellement d'entrée.

L'appel à la charAt (0) prend en charge le problème multicharacter. Ce charAt (0) appel raconte Java pour choisir le premier caractère de l'un des personnages qui findWithinHorizon récupère.


» » » » Comment fonctionne la méthode java findwithinhorizon?