menusearch
javapro.ir

به دست آوردن همه جایگشت‌‌‌‌های یک String در جاوا

جستجو
شنبه ۳ مهر ۱۴۰۰ | ۱۴:۴:۴
۱۳۹۶/۷/۳۰ یکشنبه
(3)
(0)
به دست آوردن همه جایگشت‌‌‌‌های یک String در جاوا
به دست آوردن همه جایگشت‌‌‌‌های یک String در جاوا
مسئله: برنامه ای به زبان جاوا بنویسید که همه جایگشت‌‌‌‌های کاراکتر‌‌‌‌های یک رشته(String) در جاوا را به دست آورد.


پاسخ:
import java.util.ArrayList;
import java.util.Scanner;



// Java Program to find all permutations of a String


public class StringPermutation {
   public static ArrayList<String> permutationFinder(String str) {
       ArrayList<String> perm = new ArrayList<String>();
        Handling error scenarios
       if (str == null) {
           return null;
       } else if (str.length() == 0) {
           perm.add("");
           return perm;
       }
       char initial = str.charAt(0); first character
       String rem = str. substring (1); Full string without first character
       ArrayList<String> words = permutationFinder(rem);
       for (String strNew : words) {
           for (int i = 0; i <= strNew.length(); i++) {
               perm.add(char insert (strNew, initial, i));
           }
       }
       return perm;
   }

   public static String char insert (String str, char c, int j) {
       String begin = str. substring (0, j);
       String end = str. substring (j);
       return begin + c + end;
   }

   public static void main(String[] args) {

       Scanner input = new Scanner(System.in);
       System.out. print ln("Enter your a String:");
       String str = input.next();
       System.out. print ln("\nPermutations for " + str + " are: \n"
               + permutationFinder(str));
   }
}
 

خروجی(output):یک نمونه تست شده برنامه به صورت زیر است.
 
Enter your a String:
abc

Permutations for abc are:
[abc, bac, bca, acb, cab, cba]
 

در برنامه بالا اگر ما رشته "abc" را به عنوان ورودی بدهیم ،برنامه جایگشت کاراکتر‌‌‌‌های این رشتهرا به صورت زیر تولید می‌کند:
abc, bac, bca, acb, cab, cba

جهت دانلود سورس کد مثال بالا روی StringPermutation.java کلیک کنید.

کانال تلگرام آموزش جاوا 
 
برای با خبر شدن از جدیدترین مطالب آموزشی جاوا عضو کانال تلگرام ما شوید.
گفتگو را شروع کنید
رزو مشاوره و تدریس خصوصی برنامه نویسی و سفارش انواع پروژه‌‌‌‌های برنامه نویسی