Video: Brille | Hvordan fungerer en nøkkel? | TVNorge 2025
Uten å svinge i for mye detalj, her er hvordan finneWithinHorizon (".", 0). charAt (0) teknikk fungerer: Java's findWithinHorizon-metoden ser etter ting i inngangen. Tingene som metoden finner er avhengig av ting du setter i parentes. For eksempel ser en samtale for å finneWithinHorizon (" d d d", 0) etter en gruppe bestående av tre siffer. Med følgende linje med kode
System. ute. println (keyboard. findWithinHorizon (" d d d", 0));
Du kan skrive
Testing 123 Testing Testing
og datamaskinen reagerer ved å vise
123
I samtale findWithinHorizon (" d d d", 0) for et enkelt siffer. Denne virksomheten er en av mange forkortelser i spesiell kode kalt regulære uttrykk .
Nå er det noe rart. I verden med vanlige uttrykk står en prikk for enhver karakter i det hele tatt. (Det vil si, en prikk står for "et hvilket som helst tegn, ikke nødvendigvis en prikk.") Så findWithinHorizon (".", 0) forteller datamaskinen å finne det neste tegnet av hvilken som helst type brukeren skriver på tastaturet. Når du prøver å skrive inn et enkelt tegn, er FindWithinHorizon (".", 0) kraftig nyttig.
I call findWithinHorizon (" d d d", 0) forteller 0 at FindWithinHorizon fortsetter å søke til slutten av inngangen. Denne verdien 0 er et spesielt tilfelle fordi alt annet enn 0 begrenser søket til et bestemt antall tegn. (Derfor inneholder metodenavnet ordet horisonten . horisonten er så langt som metoden ser.) Her er noen eksempler:
-
Med samme inngang Testing 123 Testing Testing, call findWithinHorizon (" d d d", 9) returnerer null. Den returnerer null fordi de første ni tegnene i inngangen (tegnene Testing 1 - seven letters, blank space og et siffer) ikke inneholder tre påfølgende sifre. Disse ni tegnene stemmer ikke overens med mønsteret d d d.
-
Med samme inngang returnerer også call findWithinHorizon (" d d d", 10) null. Den returnerer null fordi de første ti tegnene til inngangen (tegnene Testing 12) ikke inneholder tre påfølgende sifre.
-
Med samme inngang returnerer call findWithinHorizon (" d d d", 11) 123. Den returnerer 123 fordi de første 11 tegnene i inngangen (tegnene Testing 123) inneholder disse tre påfølgende sifrene.
-
Med inntasting A57B442123 Testing returnerer call findWithinHorizon (" d d d", 12) 442. Den returnerer 442 fordi blant de første 12 tegnene i inngangen (tegnene A57B442123 Test), den første sekvensen som består av 3 påfølgende sifre er sekvensen 442.
Men vent! For å hente en enkelt karakter fra tastaturet, ringer du findWithinHorizon (".", 0). charAt (0). Hva er rollen som charAt (0) ved å lese en enkelt karakter? Enhver FindWithinHorizon-oppførsel oppfører seg som om den finner en haug med tegn, ikke bare et enkelt tegn. Selv når du ringer findWithinHorizon (".", 0), og datamaskinen henter bare ett bokstav fra tastaturet, behandler Java-programmet dette bokstavet som en av muligens mange inntastede tegn.
Kallet til charAt (0) tar seg av multicharacter problemet. Denne charAt (0) anropet forteller at Java velger den opprinnelige karakteren fra noen av tegnene som finnerWithinHorizon henter.
