用于检查回文的 Java 程序
在本程序中,您将学习在 Java 中检查字符串或数字是否为回文。
要理解此示例,您应该具备以下 Java 编程的知识:
如果一个字符串反转后与原始字符串相同,则该字符串称为回文字符串。例如 radar
, level
等。
类似地,一串数字反转后仍然等于原始数字的为回文数字。例如,3553、12321 等。
要在 Java 中检查回文,我们首先反转字符串或数字,并将反转的字符串或数字与原始值进行比较。
示例 1:检查回文字符串的 Java 程序
public 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"
存储在字符串. 在这里,我们使用了
-
使用
for
循环反转字符串- 循环从字符串的末尾运行到字符串的开头。
charAt()
方法访问该字符串的每个字符。- 字符串的每个字符都以相反的顺序访问并存储在 反向链.
-
使用 if 语句比较
str
和reverseStr
toLowerCase()
方法将字符串转为小写。这是因为 Java 区分大小写并且’r’ 和 ‘R’ 是两个不同的值。equals()
方法检查是否两个字符串相等。
示例 2:检查回文数字的 Java 程序
public 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.
在上面的例子中,我们有一个数字 3553 存储在 num
和 originalNum
变量。在这里,我们使用了
- 使用
while 循环
反转数字,并将反转的数字存储在变量reversedNum
中 - 使用
if...else
检查reversedNum
与originalNum
是否相等