用于检查回文的 Java 程序

在本程序中,您将学习在 Java 中检查字符串或数字是否为回文。

要理解此示例,您应该具备以下 Java 编程的知识:

如果一个字符串反转后与原始字符串相同,则该字符串称为回文字符串。例如 radarlevel 等。

类似地,一串数字反转后仍然等于原始数字的为回文数字。例如,355312321 等。

要在 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" 存储在字符串. 在这里,我们使用了

  1. 使用 for 循环反转字符串

    • 循环从字符串的末尾运行到字符串的开头。
    • 所述的 charAt()方法访问该字符串的每个字符。
    • 字符串的每个字符都以相反的顺序访问并存储在 反向链.
  2. 使用 if 语句比较 strreverseStr

    • 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 存储在 numoriginalNum 变量。在这里,我们使用了

  • 使用 while 循环 反转数字,并将反转的数字存储在变量 reversedNum
  • 使用 if...else 检查 reversedNumoriginalNum 是否相等