首页 > Java > java教程 > 正文

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

WBOY
发布: 2023-08-26 15:09:13
转载
1396 人浏览过

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

什么是回文数?

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

  • 字符串 - 字符串是一种存储胶囊或一种存储方法,我们可以在 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
登录后复制

结论

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

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

以上是Java程序以反转一个数字并检查它是否为回文数的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:tutorialspoint.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!