menusearch
javapro.ir

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

جستجو
جمعه ۲۳ آذر ۱۴۰۳ | ۱:۳:۵
۱۳۹۶/۷/۳۰ یکشنبه
(4)
(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 کلیک کنید.

کانال تلگرام آموزش جاوا 
 
برای با خبر شدن از جدیدترین مطالب آموزشی جاوا عضو کانال تلگرام ما شوید.
هدر سایت
مشاهده سرفصل ها و ثبت نام در دوره Spring Boot جاواپرو  [کلیک کنید]
آموزش پروژه محور اسپرینگ بوت(Spring Boot)-سیستم دانشگاه
ثبت نام در دوره آموزش Spring security
دوره معماری میکروسرویس ها (Microservices) با استفاده از Spring Boot و Spring Cloud
دوره پرتاب | آموزش پیش نیازهای برنامه نویسی
دوره آموزش مبانی زبان برنامه نویسی جاوا
دوره آموزش مفاهیم پیشرفته زبان برنامه نویسی جاوا
مقدمه ای از زبان برنامه نویسی جاوا(java)
آموزش زبان برنامه نویسی جاوا
آموزش گرافیک در زبان برنامه نویسی جاوا
آموزش مدیریت چیدمان گرافیکی در زبان جاوا
آموزش ساخت بازی دوبعدی در زبان جاوا
Collection ها در زبان برنامه نویسی جاوا
آموزش پروژه محور ساخت برنامه مدیریت بانک با JavaFX
نمونه پروژه های رایگان زبان جاوا
آموزش دیتابیس در زبان برنامه نویسی جاوا
نمونه مثال پایه ای زبان برنامه نویسی جاوا
نمونه مثال String در زبان برنامه نویسی جاوا
آموزش جامع برنامه نویسی JavaFX
آموزش ساخت برنامه آزمون تستی در JavaFX
آموزش برنامه نویسی سوکت در جاوا
آموزش ساخت برنامه دفترچه تلفن با JavaFX
آموزش ساخت ربات ساده تلگرام با زبان جاوا
آموزش ساخت برنامه ماشین حساب با JavaFX
آموزش ساخت برنامه ساده مدیریت ایمیل ها با JavaFX
دوره آموزش Spring Boot
سفارش انجام پروژه زبان برنامه نویسی جاوا(JAVA)
سفارش انجام پروژه برنامه نویسی متلب(MATLAB) با قیمت منصفانه و تحویل به موقع
سفارش انجام پروژه زبان برنامه نویسی سی شارپ (#C)
سفارش انجام پروژه زبان برنامه نویسی سی(C)
سفارش انجام پروژه زبان برنامه نویسی پایتون(Python)
سفارش انجام پروژه زبان برنامه نویسی PHP (پی اچ پی)
سفارش انجام پروژه زبان برنامه نویسی اسمبلی(Assembly)
سفارش انجام پروژه زبان برنامه نویسی جاوا اسکریپت (Javascript)
سفارش انجام پروژه هوش مصنوعی
سفارش انجام پروژه طراحی الگوریتم
سفارش انجام پروژه ساختمان داده ها
سفارش انجام پروژه مهندسی نرم افزار
سفارش انجام پروژه شبکه های کامپیوتری
سفارش انجام پروژه پایگاه داده: دیتابیس (database)
 سفارش انجام پروژه سیستم عامل
سفارش انجام پروژه پاورپوینت(PowerPoint)
سفارش انجام پروژه اکسل (Excel)
سفارش انجام تحقیق و تهیه مقاله
سوالات متداول برنامه نویسی
جدیدترین مطالب
گفتگو را شروع کنید
مشاوره ،تدریس خصوصی و سفارش انجام انواع پروژه های برنامه نویسی