用于检查回文的 Java 程序

javaobject oriented programmingprogramming更新于 2024/8/6 21:00:00

回文一词源于希腊语"palin dromo",意思是"再次跑回来"。反转后保持不变的数字、字符串或短语(即正读和反读都一样)称为回文。例如,数字回文包括 525、2002 和 12121 等数字。单词回文有"ABA"、"BABAB"和"RADAR"。要在 Java 中检查回文,我们可以使用 while 循环和 if-else 块来确定给定的数字或字符串及其反向是否相同。

用于检查 Plaindrome 的 Java 程序

在本节中,我们将编写不同的 Java 程序来检查给定的输入是否为回文。在此之前,让我们借助一个例子来讨论问题陈述 -

实例

输入 1

121

输出

121 是回文

输入 2

34431

输出

34431 不是回文

输入 3

"ABABA"

输出

ABABA 是回文

现在,让我们进入 Java 程序来检查回文。

示例 1

在此示例中,我们将从用户那里获取一个数字作为输入,并检查该数字是否是回文。我们还将借助 while 循环和 if-else 条件块。

import java.util.*;
public class Example1 {
    public static void main(String[] args) {
        // 创建 Scanner 类的实例
        Scanner sc=new Scanner(System.in);
        System.out.println("输入一个数字来检查回文:");
        // 从用户那里获取输入
        int num = sc.nextInt();
        // 复制原始输入
        int copy = num;
        // 变量用于存储结果
        int revVal = 0;
        // 循环检查回文
        while(copy != 0) {
        int rem = copy % 10; // 提取余数
        copy /= 10; // 除法并存储数字
        revVal = revVal * 10 + rem; // 反转
        }
        // 检查反转数字和原始数字是否相同
        if(num == revVal) {
        System.out.println(num + " 是回文数");
        } else {
        System.out.println(num + " 不是回文数");
        }
    }
}

输出 1

输入一个数字来检查回文:
323
323 是回文数

输出 2

输入一个数字来检查回文:
258
258 不是回文数

示例 2

以下示例说明如何检查字符串是否为回文。我们将使用 StringBuffer 类的内置方法 reverse() 来反转给定的字符串。然后,我们将这个反转的字符串传递给 equals() 方法,以检查原始字符串和反转后的字符串是否相同。如果两者相同,则字符串为回文,否则不是。

public class Example2 {
    public static void main (String[] args) {
        String str = "ABABA";
        System.out.println("原始字符串为: " + str);
        // 反转原始字符串
        String strRev = new StringBuffer(str).reverse().toString();
        // 检查反转是否等于原始字符串
        if (str.equals(strRev)) {
        System.out.println(str + " 是回文!");
        } else {
        System.out.println(str + " 不是回文!");
        }
    }
}

输出

原始字符串为:ABABA
ABABA 是回文!

示例 3

这是另一个用于检查给定数字是否为回文的 Java 程序。

public class Example3 {
    public static void main(String[] args) {
        int num = 52525;
        System.out.println("原始数字为:" + num);
        // 复制原始输入
        int copy = num;
        // 变量用于存储结果
        int revVal = 0;
        // 循环检查回文
        while(copy != 0) {
        int rem = copy % 10; // 提取余数
        copy /= 10; // 除法并存储数字
        revVal = revVal * 10 + rem; // 反转
        }
        // 检查反转数字和原始数字是否相同
        if(num == revVal) {
        System.out.println(num + " 是回文数");
        } else {
        System.out.println(num + " 不是回文数");
        }
    }
}

输出

原始数字为:52525
52525 是回文数

结论

在本文中,我们了解了 Java 中的回文。此外,我们讨论了不同的 Java 程序,这些程序说明了如何检查给定的输入是否是回文。实现此目的最直接的方法是使用 StringBuffer 类的内置方法 reverse()。


相关文章