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

জাভাতে একটি স্ট্রিংয়ের সকল পারমিউটেশন প্রিন্ট করার প্রোগ্রাম


একটি স্ট্রিংয়ের সকল পারমিউটেশন প্রিন্ট করার জাভা প্রোগ্রাম নিচে দেওয়া হলো:

উদাহরণ

public class Demo{    static void print_permutations(String my_str,String my_ans){       if (my_str.length() == 0){          System.out.print(my_ans + " ");          return;       }       boolean my_arr[] = new boolean[26];       for (int i = 0; i < my_str.length(); i++){          char ch = my_str.charAt(i);          String remaining_str = my_str.substring(0, i) + my_str.substring(i + 1);          if (my_arr[ch - 'a'] == false)          print_permutations(remaining_str, my_ans + ch);          my_arr[ch - 'a'] = true;       }    }    public static void main(String[] args){       String my_str = "hey";       System.out.println("The permutation of the string are :");       print_permutations(my_str, "");    } }

আউটপুট

The permutation of the string are : hey hye ehy eyh yhe yeh

Demo ক্লাসে 'print_permutations' নামে একটি স্ট্যাটিক ফাংশন আছে, যা চেক করে একটি স্ট্রিং খালি কিনা, এবং যদি খালি হয়, তবে আউটপুট প্রিন্ট করা হয়। এখন, 'my_arr' নামক একটি বুলিয়ান অ্যারে ২৬ আকারের তৈরি করা হয়েছে, যেখানে ডিফল্টভাবে 'false' মান থাকে। যতক্ষণ একটি অক্ষর ব্যবহার হয়, অ্যারেতে এর ইনডেক্স 'true' এ পরিবর্তন হয়।

একটি 'for' লুপ স্ট্রিংয়ের দৈর্ঘ্যের ওভার ইটেরেট করতে ব্যবহৃত হয়েছে এবং স্ট্রিংয়ের i-তম ক্যারেক্টার চেক করা হয়েছে। i-তম ক্যারেক্টার বাদে স্ট্রিংয়ের বাকি অংশ 'remaining_str' নামক স্ট্রিংয়ে অ্যাসাইন করা হয়েছে। যদি ক্যারেক্টারটি ব্যবহৃত না হয়, ফাংশনে রিকার্সিভ কল হয়। অন্যথায়, কোনো ফাংশন কল হয় না। main ফাংশনে, একটি স্ট্রিং সংজ্ঞায়িত করা হয়েছে এবং এই স্ট্রিংয়ে ফাংশনটি কল করা হয়েছে।

  1. জাভা রেগুলার এক্সপ্রেশন: স্ট্রিংয়ের সকল ক্যারেক্টার প্রিন্ট করা (.) মেটাক্যারেক্টার

  2. জাভাতে স্ট্রিং থেকে সব নন-অ্যালফাবেটিক্যাল ক্যারেক্টার রিমুভ করা

  3. জাভাতে দেওয়া স্ট্রিং-এর সব বড় হাতের অক্ষর প্রিন্ট করা

  4. দেওয়া স্ট্রিংয়ের সকল পারমিউটেশন প্রিন্ট করার পাইথন প্রোগ্রাম