如何在 Java 中使用回文程序以及解决方案。

229 阅读4分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第14天,点击查看活动详情

如何在 Java 中使用回文程序以及解决方案。

Java 面试很可能涉及这样一个场景,其中面试人员必须展示他们的逻辑和编程技能以及他们的经验,作为他们评估的一部分。面试中最常见的问题是“你能用 Java 编写回文程序吗?” 这也是最难回答的问题之一。回文数只不过是反转时保持不变的数字或字符串,而非回文数则与之相反。很明显,当字母颠倒时,它们会形成彼此的镜像。回文最初来自希腊语,是数字、单词或字符集,前后拼写方式相同。在许多回文示例中,有 686、1401042、95359、7007、 Malayalam, Radar, MAAM, Radar, Level, etc等。将字母颠倒后,很明显它们形成了彼此的镜像。使用 Java 中的余数和除法运算符,我们可以创建一个代码来检查特定数字是否是回文数。

在本文中,我们将学习如何检查输入的数字是回文数还是非回文数。在这里,我们将讨论什么是回文,什么是回文数,以及 Java 中的示例回文程序。

什么是回文?

回文一词是指单词、短语、数字或其他字符序列,无论是向前还是向后读取都相同。如果要向前和向后阅读,无论空格、大小写或标点符号如何,它都会有相同的字母序列。在编程中,空字符串也可以被认为是回文。因此,确实每个字符串或一位数字都被认为是回文。

示例 1:字符串

  • Racecar
  • Motor
  • Tenet

示例 2:数字

  • 14541
  • 6783876
  • 232

什么是回文数?

回文数,也称为数字回文数或数字回文数,是一个即使数字中的数字颠倒也保持不变的数字。例如,45654 是一个回文数,当它的数字反转时具有相同的值。正如您可能已经猜到的,如果我们反转 1312,它就不是回文,因为反转的数字与原始数字不同。

回文数程序的步骤

  • 输入用户的数字或手动初始化。
  • 创建一个临时变量并将数字存储在其中。
  • 反转/反转数字。
  • 对照倒转号码检查临时号码。
  • 如果两个数字相等,则打印它是回文
  • 否则,它不是回文。

使用 FOR 循环的 Java 回文程序

下面是一个易于遵循的程序,它使用“For 循环”来查找回文。在 for 循环中,迭代检查输入中的数字,直到输入值变为 0。在 FOR 循环中,考虑数字 (num) 的模数,并将其保存在reverseNum每次迭代调用的变量中环形。结果,我们能够获得输入的完全相反/反向。最后,将反转的数字与原始数字进行比较,以确定它是否是回文。这是一个示例,可让您检查输入是否为回文数.

算法

  1. 启动程序
  2. 接受用户输入或手动初始化它(num)
  3. 创建一个新变量 ( initialNum) 并存储输入。
  4. 直到 num 等于 0,找到 num 的余数并将其存储在变量 ( reverseNum) 中。
  5. 判断 是否initialNum等于reverseNum
  6. 如果两者相等,
  • 打印它是回文
  • 否则,它不是回文。
  1. 结束程序

代码

import java.util.*;
class Main 
{
  public static void main(String[] args) 
    {
        Scanner sc= new Scanner(System.in);
        System.out.print("Enter the number: ");
        int num= sc.nextInt();

        int reverseNum=0, initialNum, remainder=0
        initialNum = num;
        for(;num!=0;num/=10)
        {
            remainder= num % 10;
            reverseNum = (reverseNum * 10) + remainder;
        }

        if (initialNum == reverseNum)
        {
            System.out.println("Yes, the given number " + initialNum + " is a palindrome.");
        }

        else
        {
           System.out.println("No, the given number " + initialNum + " is not a palindrome.");
        }
    }
}

输出 1:

Enter the number: 98989

Yes, the given number 98989 is a palindrome.

输出 2:

Enter the number: 3624251

No, the given number 3624251 is not a palindrome.

结论

在了解了回文是什么以及如何在 Java 中为回文编写代码之后,我们已经到了本文的结尾。希望在本教程中与您分享的所有信息已经澄清了您可能有的任何疑问。你能做的最重要的事情就是尽可能多地练习,把你学到的东西付诸实践。如果该数字仅包含一个字母或没有字母,则该数字称为回文数。当一个数的倒数与原数相同时,称为回文串。希望这可以帮助您提高 Java 技能。