public class Palindrome {
الفراغ العام الثابت الرئيسي (سلسلة args[]){
int[] الأرقام = {0, 2, 113, 11, 1443, 1441, 1654, 19891};
ل (رقم int: أرقام) {
System.out.println (رقم +" هو palindrome؟ "
+ estPalindrome (عدد)) ؛
}
}
منطقية ثابتة خاصة isPalindrome (رقم int) {
if (number == inverse (number)) {
إرجاع true ؛
}
إرجاع خطأ ؛
}
معكوس int ثابت خاص (رقم int) {
int معكوس = 0;
بينما (رقم != 0) {
معكوس = معكوس * 10 + عدد٪ 10 ؛
number = number / 10 ؛
}
العودة العكسية ؛
}
}
< / pre> تشغيل هذا البرنامج يعطي هذه النتيجة:0 هو palindrome؟ صحيح < BR / >2 هو باليندروم؟ صحيح < BR / >113 هو باليندروم؟ خطأ < BR / >11 هو باليندروم؟ صحيح < BR / >1443 هو باليندروم؟ خطأيأخذ برنامج Java هذا مجموعة من الأعداد الصحيحة ويتحقق مما إذا كان الرقم عبارة عن متباهى أم لا.
1441 هو باليندروم؟ صحيح < BR / >1654 هو باليندروم؟ خطأ
19891 هو باليندروم؟ trueتحقق مما إذا كانت السلسلة عبارة عن palindrome
تسمى السلسلة بالتناظر إذا كانت مساوية لمعكوسها ، على سبيل المثال ، "الرادار" هو palindrome ، ويبقى عكسه "الرادار". أمثلة أخرى مثل: "أبابا" ، "هي" ، "آنا" .< / div>palindrome< / h3 >< pre class = "prettyprint lang-java" >import java.util.Scanner ؛
Palindrome_string الفئة العامة {
الفراغ العام الثابت الرئيسي (سلسلة args [])
{
كلمة سلسلة ، mot_inverse = "" ؛
الماسح الضوئي في = ماسح ضوئي جديد (System.in) ؛
System.out.println("أدخل كلمة");
word = in.nextLine ();
إذا كان (pal (mot))
System.out.println ("'" + mot + "' هو palindrome") ؛
else
System.out.println ("'" + كلمة + "' ليست متباينة") ؛
}
pal منطقي ثابت عام (String mot) {
int i = 0 ، length = word.length () -1 ؛
يساوي منطقي = صحيح ؛
/ * اختبر الحرف الأول بالحرف الأخير < br / > * وإذا كانا متساويين ، يستمر البرنامج < br / > * للاسترخاء في حلقة while واختبار
* الحرف التالي (i + 1 بالطول - (i + 1))
* حتى يساوي الطول / 2،
* ، وإلا فإن القيمة المنطقية المتساوية تتلقى false
* لذلك ، ترجع الدالة PAL false
*/
بينما (i< الطول / 2 & & يساوي) {
if (charAt.word (i) == charAt.word (i))
يساوي = صحيح ؛
else
يساوي = خطأ ؛
i++;
}
عائد متساو ؛
}
}
< / pre>النتيجة:
< pre class = "prettyprint lang-java" >أدخل كلمة
rotor
'rotor' هو palindrome< / pre>< / div>recursive palindrome< / h3 >< pre class = "prettyprint lang-java" > public class Palindrome_recursive {
الفراغ العام الثابت الرئيسي (سلسلة [] args) {
سلسلة [] سلاسل = {"هنا" ، "شائعة" ، "ليلى" ،
"لول" ، "مرحبا" ، "لا"} ؛
for (سلسلة سلسلة: سلاسل) {
if (estPalindrome (string))
System.out.println ("'" + سلسلة + "' هي palindrome") ؛
else
System.out.println ("'" + سلسلة + "' ليست باليندروم") ؛
}
}
منطقية ثابتة عامة isPalindrome (سلسلة s)
{
// إذا كان الطول 0 أو 1
// فهو palindrome
if (s.length () == 0 || s.length () == 1)
true ؛
if (s.charAt (0) == s.charAt (s.length ()-1))
/*
* اختبار إذا كان الأول و الحرف الأخير < br / > * هي نفسها ثم كرر نفس المعالجة < br / > * مع السلسلة الفرعية مع الحرف الأول و < br / > * الأخير حتى تصل إلى
* الشرط الأول
* /
إرجاع isPalindrome (s.substring (1 ، s.length () -1)) ؛
/*
* إذا كانت حالة if خاطئة ، فإنها ترجع
* false
* /
إرجاع false ؛
}
}
< / pre>النتيجة:
< pre class = "prettyprint lang-java" > 'here' هو palindrome
'شائعة' ليست palindrome
'Leila' ليست palindrome
'lol' هي palindrome
'hi' ليست palindrome
'no' هي palindrome
< / pre>كلاهما إذا كانت الرموز حساسة لحالة الأحرف وكبيرة ، فيمكنك تغييرها لتجاهل الأحرف الكبيرة عن طريق تحويل كلتا السلسلتين إلى أحرف صغيرة أو كبيرة ،
كما قيل ، يجب على المبرمج الجيد دائما تدرب على التمارين التي تبدو سهلة وخاصة مبتدئي برمجة Java الذين بدأوا للتو في تعلم برمجة Java.
References:
List of French palindromes
Stackoverflow: تحقق من السلسلة بحثا عن palindrome
Java program للتحقق من palindrome
Please disable your ad blocker and refresh the window to use this website.