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中的回文数。
-
检查数组是否为回文数。
通过使用字符串和数组来检查一个数是否为回文数
检查一个数是否为回文数的步骤:
- 将flag初始化为未设置或flag值为0。
-
将数组大小设置为n/2。
-
检查循环条件。然后将flag值设置为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
通过使用String在Java中找到回文数字
如果将一个回文数字反转,它将返回与所提供的输入相同的数字。使用StringBuffer方法的一种方式reverse(),我们可以使用Java来检查回文数字。在下面的示例中,我们将检查输入字符串是否是回文。
示例
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
结论
经过对定义和基于某些理论的程序的阐述,可以很容易地说回文数字是一种类型的数字,在改变原始数字之后仍保持不变。
所有这些解释都用示例进行了适当的描述,并且为了更好地理解,我们还提供了基于三种不同方法的示例程序。