جاوا

جلسه ۶۲: معکوس کردن یک رشته به روش بازگشتی در جاوا

در این جلسه می آموزید که چگونه یک رشته را با استفاده از روش بازگشتی معکوس کنید. موارد زیر را بیان خواهیم کرد:

  • معکوس کردن یک رشته به چه معناست؟
  • پیاده سازی بوسیله کد
  • تفسیر کد
  • متد main
  • متد بازگشتی
  • حالت پایه
  • حلت بازگشتی
  • درک از طریق پشته

معکوس کردن یک رشته به چه معناست؟

وقتی یک رشته به ما داده می شود ، می توانیم کارهای مختلفی با آن انجام دهیم ، یکی از آنها معکوس سازی رشته است. معکوس کردن به معنای گرفتن رشته و چرخاندن آن است: تمام حروف ابتدای رشته به انتهای رشته می رود و بلعکس. تصویر زیر نحوه انجام این کار را به شما نشان می دهد:

توجه: به خاطر داشته باشید که یک رشته می تواند یک کلمه یا چند کلمه باشد.

پیاده سازی بوسیله کد

قطعه کد زیر نحوه معکوس کردن یک رشته با استفاده از بازگشت را نشان می دهد! ابتدا ، بیایید نگاهی به کد بیندازیم و سپس آن را تفسیر کنیم. با تغییر مقادیر string1 و string2 کد را امتحان کنید و ببینید که چگونه با رشته های مختلف به درستی کار می کند!

class ExampleClass {

    public static String reverseString(String myStr) {
        // Base case
        if (myStr.isEmpty()) {
            return myStr;
        }

        // Recursive case
        else {
            return reverseString(myStr.substring(1)) + myStr.charAt(0);
        }
    }

    public static void main( String args[] ) {
        String string1 = "Hello World";
        String string2 = "Reverse";

        System.out.println( "The Original String is: ");
        System.out.println(string1);

        String resultStr = reverseString(string1);

        System.out.println("String after reversal: ");
        System.out.println(resultStr);
    }

}

تفسیر کد

کد بازگشتی را می توان به دو قسمت تقسیم کرد: متد بازگشتی و متد main که متد بازگشتی را فراخوانی می کند.

متد main

متد بازگشتی در متد main فراخوانی می شود. ابتدا بررسی می کنیم که این متد از خط ۱۶ تا ۲۵ چه کاری انجام می دهد.

  • متد main دو متغیرstring1 و string2 را مقدار دهی می کند.
  • متد main رشته را نمایش می دهد ، آن را به متد reverseString ارسال می کند و سپس برای نمایش تغییرات ، نتیجه را نمایش می دهد.

متد بازگشتی

در یک متد بازگشتی ، دو قسمت وجود دارد: حالت پایه و حالت بازگشتی.

حالت بازگشتی

  • شرط if از خط ۵ تا خط ۷ خالی بودن رشته را بررسی می کند. اگر رشته خالی باشد رشته را برمی گرداند. این جایی است که متد خاتمه می یابد. این خاتمه متد یا بازگشت به متد main به ما کمک می کند تا از مکان خاتمه حالت بازگشتی مطلع شویم.

حالت پایه

  • این متد یک آرگمان می گیرد: رشته ای که باید معکوس شود.
  • هنگامی که متد بازگشتی فراخوانی می شود ، زیر رشته ای از مکان ۱ (substring(1)) تا انتهای رشته را دریافت می کند. سپس کاراکتر داخل مکان ۰ رشته را با استفاده از charAt(0) در انتهای آن رشته اضافه می کند. این فرایند به طور مکرر از طریق متد بازگشتی انجام می شود و در نهایت رشته را به شکل معکوس خود باز می گرداند.
  • به عنوان مثال ، اگر رشته هنگام فراخوانی تابع Hello باشد ، فقط بخش ello را جدا می کند و سپس آن را به متد بازگشتی ارسال می کند. H به انتهای آنچه از متد بازگشتی بازگردانده می شود اضافه می شود. این فرآیند تا رسیدن به حالت پایه و معکوس شدن کامل رشته تکرار می شود.

درک از طریق پشته

اکنون که یاد گرفتیم چگونه یک رشته را با استفاده از روش بازگشتی در Java معکوس کنیم ، در جلسه بعدی ، نحوه حذف کاراکتر های تکراری در یک رشته را با استفاده از روش بازگشتی بررسی می کنیم.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا