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

bookIndexof()-metodi

Määritetyn merkin indeksin etsiminen merkkijonosta

Ensimmäisen tietyn kirjaimen esiintymän indeksin löytämiseksi 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 metodilla indexOf("l"). Nyt tämä muuttuja sisältää ensimmäisen "l"-kirjaimen 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ää etsittävän arvon. Toinen parametri määrittää aloitusindeksin, josta haku aloitetaan. Esimerkiksi sanassa "Hello" on 2 "l"-kirjaimen esiintymää, ja halutaan löytää toisen esiintymän indeksi. Ensimmäisestä esimerkistä tiedetään, että ensimmäinen esiintymä on indeksissä 2, joten asetetaan fromIndex-parametriksi 3 ja etsitään toisen "l"-kirjaimen indeksi:

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. Ensimmäisen määritetyn kirjaimen esiintymän sijaintia hyödynnettiin toisen kirjaimen etsimiseen alkaen indeksistä, joka on kasvatettu yhdellä. Näin haku aloitetaan seuraavasta indeksistä ensimmäisen halutun kirjaimen tai kirjainjoukon esiintymän jälkeen.

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

On myös huomioitava, että jos indexOf()-metodi ei löydä määritettyä kirjainta tai kirjainjoukkoa, 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ätä voidaan hyödyntää ehtojen asettamisessa tai silmukan lopetuskohdan määrittämisessä.

Kuinka löytää viimeinen indeksi merkkijonosta

String-luokalla on myös metodi, jonka avulla voidaan etsiä merkkijonon lopusta alkaen. Tämä metodi on nimeltään 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ä saatiin tulokseksi 3, joka tarkoittaa 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

Awesome!

Completion rate improved to 2.63

bookIndexof()-metodi

Pyyhkäise näyttääksesi valikon

Määritetyn merkin indeksin etsiminen merkkijonosta

Ensimmäisen tietyn kirjaimen esiintymän indeksin löytämiseksi 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 metodilla indexOf("l"). Nyt tämä muuttuja sisältää ensimmäisen "l"-kirjaimen 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ää etsittävän arvon. Toinen parametri määrittää aloitusindeksin, josta haku aloitetaan. Esimerkiksi sanassa "Hello" on 2 "l"-kirjaimen esiintymää, ja halutaan löytää toisen esiintymän indeksi. Ensimmäisestä esimerkistä tiedetään, että ensimmäinen esiintymä on indeksissä 2, joten asetetaan fromIndex-parametriksi 3 ja etsitään toisen "l"-kirjaimen indeksi:

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. Ensimmäisen määritetyn kirjaimen esiintymän sijaintia hyödynnettiin toisen kirjaimen etsimiseen alkaen indeksistä, joka on kasvatettu yhdellä. Näin haku aloitetaan seuraavasta indeksistä ensimmäisen halutun kirjaimen tai kirjainjoukon esiintymän jälkeen.

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

On myös huomioitava, että jos indexOf()-metodi ei löydä määritettyä kirjainta tai kirjainjoukkoa, 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ätä voidaan hyödyntää ehtojen asettamisessa tai silmukan lopetuskohdan määrittämisessä.

Kuinka löytää viimeinen indeksi merkkijonosta

String-luokalla on myös metodi, jonka avulla voidaan etsiä merkkijonon lopusta alkaen. Tämä metodi on nimeltään 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ä saatiin tulokseksi 3, joka tarkoittaa viimeisen "l"-kirjaimen indeksiä.

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 4
some-alt