English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
في هذا المثال، سنقوم بفحص ما إذا كانت كلمتين في Java كلمتين مقلوبة (مقلوبة)، وهي كلمة أو جملة تم إعادة ترتيب حروفها (الترتيب) لتكوين كلمة جديدة.
إذا كان يمكننا إنشاء كلمة أخرى من حروف الكلمة الأخرى، فيمكن القول أن الكلمتان كـanagram. على سبيل المثال،Race مع Careإذا كان يمكننا إعادة ترتيب أحرف الكلمة Care لإنشاء كلمة Race.
import java.util.Arrays; class Main { public static void main(String[] args) { String str1 = "Java"; String str2 = "Vaaj"; //mabda alhissabah lihadath almizan if(str1.length() == str2.length()) { //yansha alhissabah lihadath alkhayara char[] charArray1 = str1.toCharArray(); char[] charArray2 = str2.toCharArray(); //taysir alkhayara alkhayara Arrays.sort(charArray1); Arrays.sort(charArray2); //thann alkhayara almudafa'a mawsuqa //thann alhissabah anagram boolean result = Arrays.equals(charArray1, charArray2); if(result) { System.out.println(str1 + " و " + str2 + " كلمات تبديل."); } else { System.out.println(str1 + " و " + str2 + " ليست كلمات تبديل."); } } } }
نتائج الإخراج
Java و Vaaj كـanagram
في Java، لدينا كلمتان تُدعى str1 وstr2. هنا، نتحقق مما إذا كانت str1 وstr2 متطابقتين في الأحرف ولكن مختلفة في الترتيب.
هنا،
str1.toCharArray() - yansha alhissabah lihadath alkhayara
Arrays.sort() - taysir alkhayara alkhayara
Arrays.equal() - mabda alhissabah lihadath alkhayara almudafa'a
إذا كانت المجموعات المعدلة مساوية، فإن الكلمة كـanagram (مقابلة الأحرف).
import java.util.Arrays; import java.util.Scanner; class Main { public static void main(String[] args) { //tashkil khadmat alhissabah Scanner input = new Scanner(System.in); //qabul adh-dhahabah min almuqtadee System.out.print("ادخل الأولى من الكلمات: "); String str1 = input.nextLine(); System.out.print("ادخل الثانية من الكلمات: "); String str2 = input.nextLine(); //mabda alhissabah lihadath almizan if(str1.length() == str2.length()) { //yansha alhissabah lihadath alkhayara char[] charArray1 = str1.toCharArray(); char[] charArray2 = str2.toCharArray(); //sudh alayh mufassalat alkhayara Arrays.sort(charArray1); Arrays.sort(charArray2); // فإن النص هو كلمة تبديل // إذا كانت قائمة الحروف المتبادلة هي نفسها boolean result = Arrays.equals(charArray1, charArray2); if(result) { System.out.println(str1 + " و " + str2 + " كلمات تبديل."); } else { System.out.println(str1 + " و " + str2 + " ليست كلمات تبديل."); } } input.close(); } }
نتائج الإخراج
أدخل النص الأول: Race أدخل النص الثاني: Care Race و Care كلمات تبديل
في المثال السابق، استخدمناScannerتعليمات البرنامج تأخذ المدخلات من المستخدم. هنا، قمنا بفحص ما إذا كانت النصوص التي قدمها المستخدم كلمات تبديل.