Java 程序:检查回文数

要理解此示例,您应了解以下Java编程主题


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

同样,一个数字与其反转相等,则称该数字为回文数字。例如,355312321 等。

要在 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.

在上面的示例中,我们有一个存储在 str 中的字符串 "Radar"。在这里,我们使用了

1. for 循环来反转字符串

  • 循环从字符串的末尾到开头运行。
  • charAt() 方法用于访问字符串中的每个字符。
  • 字符串的每个字符以反转顺序访问并存储在 reverseStr 中。

2. if 语句来比较 str 和 reverseStr

  • toLowerCase() 方法将 strreverseStr 都转换为小写。这是因为 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.

在上面的示例中,我们有一个存储在 numoriginalNum 变量中的数字 3553。在这里,我们使用了

  • while 循环来反转 num 并将反转后的数字存储在 reversedNum 中。
  • if...else 来检查 reversedNum 是否与 originalNum 相同。

另请阅读

在我们结束之前,让我们通过一个挑战来测试你对 Java 程序检查字符串/数字是否是回文的知识!你能解决以下挑战吗?

挑战

编写一个函数来检查字符串是否是回文。

  • 回文是一种正反读都相同的字符串。例如,"racecar" 是一个回文。
  • 如果字符串是回文,则返回 true。否则,返回 false
你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战