Rumah  >  Artikel  >  Java  >  Program Java untuk mencari indeks terakhir perkataan tertentu dalam rentetan

Program Java untuk mencari indeks terakhir perkataan tertentu dalam rentetan

WBOY
WBOYke hadapan
2023-09-17 18:01:021246semak imbas

Program Java untuk mencari indeks terakhir perkataan tertentu dalam rentetan

Rentetan ialah jujukan aksara. Di Jawa, rentetan juga merupakan objek. Ia adalah objek Kelas rentetan. Indeks terakhir perkataan tertentu dalam rentetan tidak lebih daripada kedudukan kejadian terakhir perkataan itu dalam rentetan. Indeks aksara dalam rentetan mentakrifkan atau memberitahu kedudukan dalam rentetan. Kedudukan atau indeks sentiasa bermula dari 0. Dalam bahagian ini, kita akan membincangkan cara melaksanakan program java untuk mencari indeks terakhir perkataan tertentu dalam rentetan. Rentetan tidak boleh diubah dalam Java, iaitu ia tidak boleh dimanipulasi. Jika kita beroperasi pada rentetan, objek baharu dicipta.

Contoh

Masuk

searchString = "He is the one and only one male person in our team" word = "one"

Output

The last index is 23

Penjelasan - Dalam contoh di atas, perkataan "satu" muncul pada indeks 10 dan indeks 23 dalam rentetan carian. Oleh kerana 23 ialah indeks terakhir perkataan "satu", outputnya ialah 23.

Masuk

searchString = "Monkey eats banana" word = "eats"

Output

The last index is 7

Penjelasan - Dalam contoh di atas, perkataan "makan" muncul pada indeks 7 rentetan carian. Oleh kerana 7 ialah indeks terakhir perkataan "makan", outputnya ialah 7.

Sekarang, kita akan membincangkan pelbagai cara untuk mencari indeks terakhir perkataan tertentu dalam rentetan di Jawa.

Kaedah 1: Gunakan kaedah lastIndexOf()

Dalam kaedah ini, kami akan menggunakan kaedah terbina dalam lastIndexOf() yang disediakan oleh java. Kelas rentetan dan cari indeks terakhir perkataan tertentu dalam rentetan.

Tatabahasa

Sintaks berikut merujuk kepada penggunaan kaedah ini

strobj.lastIndexOf(string)

Kaedah ini mengembalikan indeks terakhir rentetan tertentu yang diberikan sebagai parameter input

Algoritma

  • Isytihar dan mulakan rentetan.

  • Inisialisasikan rentetan yang indeks terakhirnya perlu kita cari.

  • Gunakan kaedah lastIndexOf() untuk mencari indeks terakhir perkataan yang diberikan dalam rentetan tertentu dan menyimpannya dalam pembolehubah.

  • Cetak nilai pembolehubah untuk mendapatkan nilai indeks terakhir.

Contoh

Dalam contoh ini, kami memulakan rentetan dan perkataan untuk mencari dan menggunakan kaedah "lastIndexOf()". Jika rentetan parameter input tidak wujud, -1 dikembalikan jika wujud, indeks kejadian terakhir rentetan dikembalikan.

// Java program to find lastIndex of a particular word in string.
import java.util.*;
public class Main {
   public static void main(String[] args) {
      String str = "He is the one and only one male person in our team";
      String word = "one";
      int lastindex = str.lastIndexOf(word);
      if (lastindex == -1) {
         System.out.println("The word not present in string.");
      } else {
         System.out.println("The last index of the searched word ==> " + word + " is "+ lastindex);
      }
   }
}

Output

The last index of the searched word ==> one is 23

Kaedah 2: Gunakan kaedah indexOf()

Dalam kaedah ini, kami akan menggunakan kaedah terbina dalam indexOf() yang disediakan oleh kelas java.String dan mencari indeks terakhir perkataan tertentu dalam rentetan.

Algoritma

  • Isytihar dan mulakan rentetan.

  • Inisialisasi perkataan yang indeks terakhirnya kita perlu cari.

  • Cari indeks perkataan dalam rentetan menggunakan kaedah indexOf(), yang mengembalikan kejadian pertama perkataan itu dan menetapkannya kepada pembolehubah indeks

  • Gunakan gelung sementara, tetapkan indeks kepada indeks terakhir dan untuk setiap nilai indeks cari indeks baharu perkataan selepas kedudukan indeks yang telah dijumpai dalam rentetan, gunakan kaedah indexOf() dan ulangi carian sehingga nilai indeks ialah -1 .

  • Cetak indeks terakhir, jika tidak cetak -1.

Contoh

Dalam contoh di bawah, kami memulakan dua pembolehubah dengan rentetan dan menggunakan kaedah 'indexOf()' untuk mencari indeks permulaan perkataan carian dalam rentetan. Sebaik sahaja indeks pertama ditemui, ulangi ini menggunakan gelung sementara, tetapi setiap kali kedudukan indeks baharu ditemui, kedudukan parameter start_index dalam kaedah "indexOf()" perlu dikemas kini dengan kedudukan indeks baharu ditemui. Jadi pada akhirnya nilai indeks menjadi -1 dan dalam setiap gelung kita menyimpan nilai indeks sebelumnya dalam lastIndex dan akhirnya mencetak nilai lastIndex.

//java program to find last index of a particular word in a string using indexOf() method
import java.util.*;
public class Main {
   public static void main(String[] args) {
      String str = "He is the one and only one male person in our team";
      String word = "one";
      int lastindex = -1;
      int index = str.indexOf(word);
      while (index != -1) {
         lastindex = index;
         index = str.indexOf(word, index + 1);
      }
      if (lastindex == -1) {
         System.out.println("The word not present in string.");
      } else {
         System.out.println("The last index  is " + lastindex);
      }
   }
}

Output

The last index  is 23

Kaedah-3: Gunakan kaedah regionMatches()

Dalam kaedah ini, kami akan menggunakan kaedah terbina RegionMatches() yang disediakan oleh kelas java.String dan mencari indeks terakhir perkataan tertentu dalam rentetan.

Tatabahasa

public boolean regionMatches(boolean ignoreCase, int toffset,  String other,  int offset,  int len)

Parameter

  • int offset - Indeks permulaan julat rentetan pertama untuk dibandingkan.

  • Rentetan lain - Rentetan untuk dibandingkan.

  • int offset - Indeks permulaan julat rentetan lain untuk dibandingkan.

  • int len - Bilangan aksara untuk dibandingkan.

  • booleanignoreCase - Memberitahu sama ada perbandingan tidak peka huruf besar-besaran. Jika nilai parameter ini "benar", perbandingannya adalah tidak peka huruf besar-besaran, sebaliknya sebaliknya.

Kaedah ini mengembalikan benar jika kawasan yang ditentukan bagi dua rentetan sepadan, jika tidak ia mengembalikan palsu.

Contoh berikut merujuk kepada penggunaan kaedah ini -

String str1 = "Hello, world!";
String str2 = "HELLO, WORLD!";
boolean match1 = str1.regionMatches(0, str2, 0, 12, false); // match1 is false
boolean match2 = str1.regionMatches(true, 0, str2, 0, 12); // match2 is true

Algoritma

  • Mulakan pembolehubah str

  • dengan rentetan
  • Mulakan perkataan pembolehubah lain dengan rentetan yang hendak dicari, dengan indeks -1.

  • Menggunakan gelung for, gunakan kaedah "regionMatches()" untuk mencari indeks dan mencetak nilai.

示例

在此示例中,初始化了两个带有字符串的变量,并初始化了一个带有 -1 的 lastIndex 变量。然后我们从字符串的最后一个开始迭代,每次迭代时,我们使用“regionMatches()”方法检查字符串区域是否与搜索字符串匹配,如果匹配,则该方法返回 true,因此我们可以存储 lastIndex 值并打印值。

//Java program to find the last index of a particular word in a string
import java.util.*;
public class Main {
   public static void main(String[] args) {
      String str = "Monkey eats banana";
      String word = "eats";   
      int index = -1;
      for(int i = str.length() - word.length(); i >= 0; i--) {
         if(str.regionMatches(i, word, 0, word.length())) {
            index = i;
            break;
         }
      }
      System.out.println("Last index  is " + index);
   }
} 

输出

Last index  is 7

因此,我们在本文中讨论了查找字符串中特定单词的最后位置的不同方法。

Atas ialah kandungan terperinci Program Java untuk mencari indeks terakhir perkataan tertentu dalam rentetan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam