কম্পিউটার টিউটোরিয়াল

জাভাতে স্ট্রিং রিভার্স করার সবচেয়ে সহজ উপায়

১. বিল্ট-ইন reverse() মেথড (StringBuffer)

StringBuffer ক্লাস একটি মেথড প্রদান করে নামক reverse()। এটি বর্তমান StringBuffer অবজেক্টের কন্টেন্ট রিভার্স করে এবং ফলাফল StringBuffer অবজেক্ট রিটার্ন করে। এটি জাভা ব্যবহার করে স্ট্রিং রিভার্স করার সবচেয়ে সহজ উপায়।

  • StringBuffer ক্লাস ইনস্ট্যানশিয়েট করুন দরকার স্ট্রিং পাস করে প্যারামিটার হিসেবে।
  • তৈরি অবজেক্টের reverse() মেথড আহ্বান করুন।
  • এটি আবার স্ট্রিং-এ রূপান্তর করুন toString() মেথড ব্যবহার করে।

উদাহরণ

public class Sample { 
    public static void main(String args[]) { 
        String str = new String("Hello how are you"); 
        StringBuffer sb = new StringBuffer(str); 
        String str2 = sb.reverse().toString(); 
        System.out.println(str2); 
    } 
}

আউটপুট

uoy era woh olleH

২. রিকার্সন ব্যবহার করে

রিকার্সন হলো একটি ফাংশনকে নিজের ভেতরে কল করার প্রক্রিয়া। নিচের জাভা প্রোগ্রাম রিকার্সন ব্যবহার করে স্ট্রিং রিভার্স করে।

উদাহরণ

public class StringReverse { 
    public String reverseString(String str) { 
        if (str.isEmpty()) { 
            return str; 
        } else { 
            return reverseString(str.substring(1)) + str.charAt(0); 
        } 
    } 
    
    public static void main(String[] args) { 
        StringReverse obj = new StringReverse(); 
        String result = obj.reverseString("Tutorialspoint"); 
        System.out.println(result); 
    } 
}

আউটপুট

tniopslairotuT

৩. toCharArray() ব্যবহার করে

আপনি স্ট্রিংকে ক্যারেক্টার অ্যারেতে রূপান্তর করে ক্যারেক্টারগুলো স্ব্যাপ করতে পারেন।

একটি অ্যারে রিভার্স করতে, প্রথম এলিমেন্টটি শেষ এলিমেন্টের সাথে, দ্বিতীয় এলিমেন্টটি দ্বিতীয় শেষ এলিমেন্টের সাথে স্ব্যাপ করুন, ইত্যাদি। যদি অ্যারে অড্ড লেন্থের হয় তবে মিডেল এলিমেন্টটি অপরিবর্তিত রাখুন।

যদি i অ্যারের প্রথম এলিমেন্ট হয় (অ্যারের লেন্থ - i - 1) শেষ এলিমেন্ট হবে। তাই array[i] কে array[(length - i - 1)] দিয়ে স্ব্যাপ করুন শুরু থেকে মিডপয়েন্ট পর্যন্ত।

উদাহরণ

import java.util.Arrays; 

public class StringReverse { 
    public static void main(String[] args) { 
        String str = "Tutorialspoint"; 
        char[] myArray = str.toCharArray(); 
        int size = myArray.length; 
        for (int i = 0; i < size / 2; i++) { 
            char temp = myArray[i]; 
            myArray[i] = myArray[size - 1 - i]; 
            myArray[size - 1 - i] = temp; 
        } 
        System.out.println("Array after reverse:: "); 
        System.out.println(Arrays.toString(myArray)); 
    } 
}

আউটপুট

Array after reverse:: [t, n, i, o, p, s, l, a, i, r, o, t, u, T]

সারসংক্ষেপ: StringBuffer.reverse() সবচেয়ে সহজ এবং কার্যকর। রিকার্সন 엘িগ্যান্ট কিন্তু স্ট্যাক ওভারফ্লো রিস্ক আছে বড় স্ট্রিংয়ের জন্য। toCharArray() ম্যানুয়াল কন্ট্রোল দেয়।

  1. জাভাতে StringIndexOutOfBoundsException কী?

  2. জাভাতে String intern() মেথডের ভূমিকা

  3. জাভাতে StringWriter ক্লাসের গুরুত্ব

  4. জাভাতে স্ট্রিং রিভার্স করার কৌশল: সহজ এবং দক্ষ পদ্ধতিগুলো