如果字符串的反面与原始字符串相同,则该字符串称为回文字符串。例如
radar
、
level
等
同样,与同一个数的倒数相等的数称为回文数。例如3553、12321等
要在 Java 中检查回文,我们首先将字符串或数字反转,然后将反转的字符串或数字与原始值进行比较。
示例 1: 检查回文字符串的 Java 程序
class Main { public static void main(String[] args) { String str = "Radar", reverseStr = ""; int strLength = str.length(); for (int i = (strLength-1); i >=0;--i) { reverseStr = reverseStr + str.charAt(i); } if (str.toLowerCase().equals(reverseStr.toLowerCase())) { System.out.println(str + " is a Palindrome String."); } else { System.out.println(str + " is not a Palindrome String."); } } }
输出
Radar is a Palindrome String.
在上面的例子中,我们有一个字符串
"Radar"
存储在
str 中。在这里,我们使用了
1. for 循环反转字符串
循环从字符串的末尾运行到字符串的开头。
charAt() 方法访问字符串的每个字符。
字符串的每个字符都以相反的顺序访问并存储在reverseStr中。
2.比较str和reverseStr的if语句
toLowerCase() 方法将 str 和 reverseStr 转换为小写.这是因为 Java 区分大小写,并且 'r' 和 'R' 是两个不同的值。
equals() 方法检查两个字符串是否相等。
示例 2: 检查回文数的 Java 程序
class Main { public static void main(String[] args) { int num = 3553, reversedNum = 0, remainder; // store the number to originalNum int originalNum = num; // get the reverse of originalNum // store it in variable while (num != 0) { remainder = num % 10; reversedNum = reversedNum * 10 + remainder; num /= 10; } // check if reversedNum and originalNum are equal if (originalNum == reversedNum) { System.out.println(originalNum + " is Palindrome."); } else { System.out.println(originalNum + " is not Palindrome."); } } }
输出
3553 is Palindrome.
在上面的示例中,我们在
num 和
originalNum 变量中存储了一个数字 3553。在这里,我们使用了
while 循环 反转 num 并将反转后的数字存储在 reversedNum
if...else 检查 reversedNum 是否与 originalNum 相同