首页 > 文章列表 > Java程序以反转一个数字并检查它是否为回文数

Java程序以反转一个数字并检查它是否为回文数

java 回文数 反转
229 2023-09-01

什么是回文数?

如果给定一个数字(两位、三位或四位数字),将每个数字的位置从前到后反转,然后反过来,然后将所有元素反转后输出的数字是否相同那么它就是一个回文数。

  • 字符串 - 字符串是一种存储胶囊或一种存储方法,我们可以在 Java 程序中存储字符序列。

  • 数组 - 数组是类似类型的数据以顺序形式放置在不同位置的集合,这样可以通过简单地添加来更轻松地计算数据在程序中的位置与调查中的基础数据。

让我们通过一个例子来理解这一点 -

Given Input: a = 102022220201
Output : Reverse of a = 102022220201
//The Number Is Palindrome = YES//
Given Input: b =20011997
Output : Reverse of b = 79911002
//The Number Is Palimdrome = NO//

算法 - 反转数字及其回文

这是反转数字并查找它是否回文的通用算法 -

  • 第 1 步 - 检查回文数。

  • 第 2 步 - 该数字应保存在非永久变量中。

  • 第 3 步 - 更改数字。

  • 第 4 步 - 现在检查临时变量中的数字与反转后的数字。

  • 第 5 步- 如果两个数字保持相同或相同,则“这是一个回文数”。

  • 第 6 步 - 要么/否则“这不是”。

语法:第 1 部分 - 反转数字

{
   int a,res=0,m;
   Scanner sc=new Scanner(System.in);
   System.out.println("Enter a number which you want to be reversed");
}
m=sc.nextInt();
for( ;m!=0; ) {
   a=m%10;
   res=(res*10)+a;
   m=m/10;
}

语法:第 2 部分 - 查找数字的回文

if (originalNum1 == reversedNum1) {
   System.out.println(originalNum1 + " is a Palindrome number.");
}
else {
   System.out.println(originalNum1 + " is not a Palindrome number.");
}

让我们看看Java中的回文程序。这将是最简单的回文程序形式。

以下方法对于检查回文数非常有用 -

  • 通过使用字符串和数组检查数字是否是回文。

  • 通过在Java中使用字符串找出回文数。

  • 通过检查数组是否是回文。

通过使用字符串和数组检查数字回文数

检查数字是否回文的步骤 -

  • 未设置标志的初始化或标志值为 0。

  • 将数组大小设置为 n/2。

  • 检查循环的条件。然后将标志值设置为1。

  • 中断。

  • 循环结束并得到结果。

示例

import java.util.*;
public class palindromeTest{
   public static void main(String args[]){
      int n;
      System.out.println("Enter a number to test");
      Scanner sc = new Scanner (System.in);
      n=sc.nextInt();
      int r=0 ,q=0 ,num=0 ,p=0;
      num= n;
      while(n!=0){
         r = r%10;
         q = n/10;
         p = p*10+r ;
         n = q;
      }
      if (num==p){
         System.out.println("the number is a palindrome number");
      }
      else{
         System.out.print("the number is not palindrome");
      }
   }
}

输出

Enter a number to test
1111
the number is not palindrome

通过使用字符串找出 Java 中的回文数 -

A palindrome number if get reversed, it will return the same number as the input provided. Using the StringBuffer method with the one way reverse(), we can check the palindrome number by using Java. In below exmaple we will check whether the input string is palindrome or not.

示例

public class Main {
   public static void main(String[] args) {

      String str = "Radar2022", reverseStr2 = "";
      int strLength1 = str.length();
      for (int i = (strLength1 - 1); i >=0; --i) {
      reverseStr2 = reverseStr2 + str.charAt(i);
      }
      if (str.toLowerCase().equals(reverseStr2.toLowerCase())) {
         System.out.println(str + "  -is a Palindrome String.");
      }
      else {
         System.out.println(str + " -is not a Palindrome String.");
      }
   }
}

输出

Radar2022 -is not a Palindrome String.

通过检查数组是否回文

有两个过程来检查数组是否是回文。

  • 如果字符串中只有一个字符,则返回 true。

  • 否则,只需比较第一个和最后一个字符并将它们放入递归方法中即可。

示例

public class findapalindrome {

   static void palindrome(int arr[], int n){
      int flag7 = 0;
      for (int i = 0; i <= n / 2 && n != 0; i++) {
         if (arr[i] != arr[n - i - 1]) {
            flag7 = 1;
            break;
         }
      }
      if (flag7 == 1)
      System.out.println("The String Is Not Palindrome");
      else
      System.out.println("The String Is Palindrome");
   }
   public static void main(String[] args){
      int arr[] = { 100, 200, 300, 222, 1111 };
      int n = arr.length;
      palindrome(arr, n);
   }
}

输出

The String Is Not Palindrome

结论

经过定义和一些基于理论的程序后,可以很容易地说回文数是一种即使在更改原始数字后也保持不变的数字。

所有这些解释都通过示例进行了正确描述,为了更好地理解,我们还提供了基于三种不同方法的示例程序。