回文数:
"回文数"是一种数字。如:98789, 这个数字正读是98789,倒读也是98789,正读倒读一样,所以这个数字就是回文数
Java实现:
主要的实现思路就是先把给的数转换成一个字符串,再把字符串转换成字符数组,通过循环比较字符数组的前后对应两位数字(如”123321“就是分别比较1-1,2-2,3-3),整个循环下来,前后对应的数字全都相等,那就是回文数,若有一个不相等,那就不是回文数;
Tips:
需要提前知道的是负数、10与10的倍数、负数不是回文数;
public class Demo4 {
public static boolean a(int x) {
if(x==0){return true;} //确定0是回文数
else if (x < 0 || x % 10 == 0) { //负数不是回文数;x%10==0 表示只要是10的倍数,肯定就不是回文数(此处其实可以把x%10==0去掉,不去掉的原因主要是可以提高计算机运算速度);
return false;
}
else{
String string = String.valueOf(x); //把x转换为字符串;
char[] ch = string.toCharArray(); //把字符串转换为字符数组;
for (int i = ch.length-1; i >0; i--) {
if (ch[i] == ch[ch.length-1-i]){ //判断前后对应的两个数字是否相等,不用考虑奇数偶数;
continue; //如果相等的话就继续执行否循环;
}else {
return false; //只要有一组不相等的话那就跳出循环;
}
}
return true; //整个for循环成功的话证明是回文数
}
}
public static void main(String args[]){
System.out.println(Demo4.a(123321));
}
}