Programming Basics SQL HTML CSS JavaScript React Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Linux Learn Typing

Javaالدالة lastIndexOf() في جافا

تعريفها

تبحث في الـ String الذي قام بإستدعائها عن أول index يوجد إبتداءاً من عنده نفس النص أو الحرف الذي نمرره لها و ترجعه.
بمعنى آخر, نعطيها أي نص أو حرف, فترجع لنا رقم آخر خانة وجد عندها.

إفتراضياً هذه الدالة تبدأ عملية البحث من الـ index الأخير إلى أول index موجود في الـ String.
و في حال لم يتم العثور على النص أو الحرف المراد البحث عنه ترجع 1-.



بناؤها

هناك أربع أشكال من هذه الدالة. أي يمكن إستدعاءها بأربع طرق مختلفة.

// الشكل الأول
public int lastIndexOf(char ch)

// الشكل الثاني
public int lastIndexOf(char ch, int toIndex)

// الشكل الثالث
public int lastIndexOf(String str)

// الشكل الرابع
public int lastIndexOf(String str, int toIndex)


باراميترات

  • مكان الباراميتر ch نمرر الحرف الذي ستبحث عنه الدالة.
  • مكان الباراميتر str نمرر الـ String الذي ستبحث عنه الدالة.
  • الباراميتر toIndex هو باراميتر إختياري, نضع مكانه رقم في حال أردنا جعل الدالة توقف عملية البحث عند رقم index محدد و ليس عند آخر index.


قيمة الإرجاع

ترجع رقم يمثل آخر index وجد عنده النص أو الحرف الذي مررناه لها, و ترجع 1- في حال لم يتم إيجاد تطابق.



مثال

Main.java
public class Main {
 
    public static void main(String[] args) {
 
        String Str = "welcome to harmash.com, harmash is one of the best site for learning";
        String subStr = "harmash";
 
        System.out.println( Str.lastIndexOf('a') );         // a وجد فيه الحرف index ستطبع آخر
        System.out.println( Str.lastIndexOf('a', 14) );     // رقم 14 index قبل الـ a وجد فيه الحرف index ستطبع آخر
 
        System.out.println( Str.lastIndexOf(subStr) );      // subStr وجد فيه النص index ستطبع آخر
        System.out.println( Str.lastIndexOf(subStr, 16) );  // رقم 16 index قبل الـ subStr وجد فيه النص index ستطبع آخر
 
        System.out.println( Str.lastIndexOf('x') );         // ستطبع 1- لأنها لن تجد هذا الحرف في كل النص
        System.out.println( Str.lastIndexOf('@') );         // ستطبع 1- لأنها لن تجد هذا الحرف في كل النص
        System.out.println( Str.lastIndexOf("hello") );     // ستطبع 1- لأنها لن تجد هذا النص في كل النص
 
    }
 
}

سنحصل على النتيجة التالية عند التشغيل.

62
12
24
11
-1
-1
-1