Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Indexof()-metodi | Merkkijonon Jatkotaso
Java Laajennettu
course content

Kurssisisältö

Java Laajennettu

Java Laajennettu

1. Syvällinen Java-rakenne
2. Metodit
3. Merkkijonon Jatkotaso
4. Luokat
5. Luokat Jatko

book
Indexof()-metodi

Miten löydät tietyn merkin indeksin merkkijonosta?

Etsiäksesi tietyn kirjaimen ensimmäisen esiintymän indeksin, String-luokka tarjoaa indexOf()-metodin. Tämä metodi on ylikuormitettu ja sillä on useita toteutuksia. Tarkastellaan, mitä kukin niistä tekee:

indexOf(String str)

indexOf(String str) – tässä metodissa parametri määrittää, mitä etsitään. Se voi olla yksittäinen kirjain lainausmerkeissä (""), kirjainjakso tai jopa sana. Tämä metodi palauttaa ensimmäisen esiintymän indeksin annetusta parametrista merkkijonossa. Esimerkiksi, etsitään kirjaimen "l" indeksi merkkijonosta "Hello":

Main.java

Main.java

copy
12345678910111213
package com.example; // do not modify the code below this comment public class Main { public static void main(String[] args) { String hello = "Hello"; // find the index of the first appearance of the letter "l" int index = hello.indexOf("l"); // output the index of the first occurrence of "l" System.out.println("First appearance of the letter 'l' is on index " + index); } }

Yllä olevassa esimerkissä alustettiin muuttuja index käyttämällä metodia indexOf("l"). Nyt tämä muuttuja sisältää kirjaimen "l" ensimmäisen esiintymän indeksin merkkijonossa "Hello".

indexOf(String str, int fromIndex)

indexOf(String str, int fromIndex) – ensimmäinen parametri on sama kuin aiemmin, eli määrittää, mitä etsitään. Toinen parametri määrittää aloitusindeksin, josta haku aloitetaan. Esimerkiksi sanassa "Hello" on 2 kirjaimen "l" esiintymää, ja haluamme löytää toisen esiintymän indeksin. Ensimmäisestä esimerkistä tiedämme, että ensimmäinen esiintymä on indeksissä 2, joten asetetaan fromIndex-parametriksi 3 ja etsitään toisen "l" indeksin:

Main.java

Main.java

copy
123456789101112131415
package com.example; // do not modify the code below this comment public class Main { public static void main(String[] args) { String hello = "Hello"; // find the index of the first appearance of the letter "l" int firstIndex = hello.indexOf("l"); // find the index of the second appearance of the letter "l", starting from the position after the first "l" int secondIndex = hello.indexOf("l", firstIndex + 1); // output the index of the second occurrence of "l" System.out.println("Second appearance of the letter 'l' is on index " + secondIndex); } }

Yllä olevassa esimerkissä käytettiin käytännöllisempää lähestymistapaa. Käytimme määritetyn kirjaimen ensimmäisen esiintymän sijaintia etsiäksemme toista kirjainta alkaen indeksistä lisättynä yhdellä. Näin aloitamme haun seuraavasta indeksistä halutun kirjaimen tai merkkijonon ensimmäisen esiintymän jälkeen.

Lisäksi parametrit String str ja int fromIndex voidaan vaihtaa keskenään.

On myös huomioitava, että jos indexOf()-metodi ei löydä määritettyä kirjainta tai merkkijonoa, se palauttaa arvon -1. Esimerkiksi:

Main.java

Main.java

copy
12345678910111213
package com.example; // do not modify the code below this comment public class Main { public static void main(String[] args) { String hello = "Hello"; // find the index of the letter "d" in the string int index = hello.indexOf("d"); // output the index, if the specified letter is not found, the value will be -1 System.out.println("Value of index, if it does not find a specified letter: " + index); } }

Kirjaimen "d" etsiminen merkkijonosta "Hello" ei tuottanut tulosta, ja metodi palautti arvon -1. Tämä voi olla hyödyllistä ehtojen asettamisessa tai poistumiskohdan luomisessa silmukasta.

Kuinka löytää viimeinen indeksi merkkijonosta

String-luokalla on myös metodi, jonka avulla voidaan etsiä merkkijonon lopusta alkaen. Tätä metodia kutsutaan lastIndexOf(). Se toimii samalla periaatteella. Tarkastellaan esimerkkiä, jossa etsitään viimeinen kirjain "l" merkkijonosta "Hello":

Main.java

Main.java

copy
12345678910111213
package com.example; // do not modify the code below this comment public class Main { public static void main(String[] args) { String hello = "Hello"; // find the last index of the letter "l" int lastIndex = hello.lastIndexOf("l"); // output the last index where the letter "l" appears System.out.println("Last index of the letter 'l' : " + lastIndex); } }

Tässä saimme tulokseksi 3, joka edustaa viimeisen "l"-kirjaimen indeksiä.

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 4

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

course content

Kurssisisältö

Java Laajennettu

Java Laajennettu

1. Syvällinen Java-rakenne
2. Metodit
3. Merkkijonon Jatkotaso
4. Luokat
5. Luokat Jatko

book
Indexof()-metodi

Miten löydät tietyn merkin indeksin merkkijonosta?

Etsiäksesi tietyn kirjaimen ensimmäisen esiintymän indeksin, String-luokka tarjoaa indexOf()-metodin. Tämä metodi on ylikuormitettu ja sillä on useita toteutuksia. Tarkastellaan, mitä kukin niistä tekee:

indexOf(String str)

indexOf(String str) – tässä metodissa parametri määrittää, mitä etsitään. Se voi olla yksittäinen kirjain lainausmerkeissä (""), kirjainjakso tai jopa sana. Tämä metodi palauttaa ensimmäisen esiintymän indeksin annetusta parametrista merkkijonossa. Esimerkiksi, etsitään kirjaimen "l" indeksi merkkijonosta "Hello":

Main.java

Main.java

copy
12345678910111213
package com.example; // do not modify the code below this comment public class Main { public static void main(String[] args) { String hello = "Hello"; // find the index of the first appearance of the letter "l" int index = hello.indexOf("l"); // output the index of the first occurrence of "l" System.out.println("First appearance of the letter 'l' is on index " + index); } }

Yllä olevassa esimerkissä alustettiin muuttuja index käyttämällä metodia indexOf("l"). Nyt tämä muuttuja sisältää kirjaimen "l" ensimmäisen esiintymän indeksin merkkijonossa "Hello".

indexOf(String str, int fromIndex)

indexOf(String str, int fromIndex) – ensimmäinen parametri on sama kuin aiemmin, eli määrittää, mitä etsitään. Toinen parametri määrittää aloitusindeksin, josta haku aloitetaan. Esimerkiksi sanassa "Hello" on 2 kirjaimen "l" esiintymää, ja haluamme löytää toisen esiintymän indeksin. Ensimmäisestä esimerkistä tiedämme, että ensimmäinen esiintymä on indeksissä 2, joten asetetaan fromIndex-parametriksi 3 ja etsitään toisen "l" indeksin:

Main.java

Main.java

copy
123456789101112131415
package com.example; // do not modify the code below this comment public class Main { public static void main(String[] args) { String hello = "Hello"; // find the index of the first appearance of the letter "l" int firstIndex = hello.indexOf("l"); // find the index of the second appearance of the letter "l", starting from the position after the first "l" int secondIndex = hello.indexOf("l", firstIndex + 1); // output the index of the second occurrence of "l" System.out.println("Second appearance of the letter 'l' is on index " + secondIndex); } }

Yllä olevassa esimerkissä käytettiin käytännöllisempää lähestymistapaa. Käytimme määritetyn kirjaimen ensimmäisen esiintymän sijaintia etsiäksemme toista kirjainta alkaen indeksistä lisättynä yhdellä. Näin aloitamme haun seuraavasta indeksistä halutun kirjaimen tai merkkijonon ensimmäisen esiintymän jälkeen.

Lisäksi parametrit String str ja int fromIndex voidaan vaihtaa keskenään.

On myös huomioitava, että jos indexOf()-metodi ei löydä määritettyä kirjainta tai merkkijonoa, se palauttaa arvon -1. Esimerkiksi:

Main.java

Main.java

copy
12345678910111213
package com.example; // do not modify the code below this comment public class Main { public static void main(String[] args) { String hello = "Hello"; // find the index of the letter "d" in the string int index = hello.indexOf("d"); // output the index, if the specified letter is not found, the value will be -1 System.out.println("Value of index, if it does not find a specified letter: " + index); } }

Kirjaimen "d" etsiminen merkkijonosta "Hello" ei tuottanut tulosta, ja metodi palautti arvon -1. Tämä voi olla hyödyllistä ehtojen asettamisessa tai poistumiskohdan luomisessa silmukasta.

Kuinka löytää viimeinen indeksi merkkijonosta

String-luokalla on myös metodi, jonka avulla voidaan etsiä merkkijonon lopusta alkaen. Tätä metodia kutsutaan lastIndexOf(). Se toimii samalla periaatteella. Tarkastellaan esimerkkiä, jossa etsitään viimeinen kirjain "l" merkkijonosta "Hello":

Main.java

Main.java

copy
12345678910111213
package com.example; // do not modify the code below this comment public class Main { public static void main(String[] args) { String hello = "Hello"; // find the last index of the letter "l" int lastIndex = hello.lastIndexOf("l"); // output the last index where the letter "l" appears System.out.println("Last index of the letter 'l' : " + lastIndex); } }

Tässä saimme tulokseksi 3, joka edustaa viimeisen "l"-kirjaimen indeksiä.

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 4
some-alt