您的位置:首页 > 其它

怎样判断一个整数是不是回文数?

2017-09-11 19:47 716 查看
首先说明一下回文数是什么,回文数就是将这个数反转之后,得到的数仍然是同一个数。例如:131,25352就是回文数。

那么怎么判断一个数是不是回文数呢?

有两种方法,第一种是数字翻转,即将整数翻转以后,看和原来一样吗,一样的话,就是回文数,反之则不是。

第二种方法是:逐位判断,即取整数的最后一位和第一位比较,然后将左右两位删除,再进行取最后一位和第一位比较,如果想等,则是回文数;反之则不是。

第一种:数字翻转

代码如下:

public class PalindromeNumber{
public static void main(String args[]){
palindrome(25352);
}
public static boolean palindrome(int x){
if(x<0){
return false;
}

int temp = x;
int rec = 0;
while(temp>0){
rec = rec * 10 + temp % 10;  //将数字翻转,首先取最后一位
temp = temp / 10;  //取一位就减少一位
}
System.out.println(x+"是回文数吗?"+x == rec);
return x == rec;
}
}


第二种方法:逐位判断

代码如下:

public class PalindromeNumber{
public static void main(String args[]){
palindrome(321);
}

public static boolean palindrome(int x){
if(x<0){
return false;
}
int len = 1;
while(x / len >= 10){ //判断位数
len *= 10;
}
while(x > 0){
int left = x /len; //取左边第一位
int right = x % 10; //取最后一位
if(left != right){
System.out.println(false);
return false;
}

x = x % len / 10;  //减去左右边上两位,剩余中间的
len  = len /100;  //len也减少两位
}
System.out.println(true);
return true;
}
}


这两种方法均可以实现回文数的判断。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐