需求:给你一个整数x。如果x是一个回文数,打印true,否则返回false。
解释:回文数是指正序(从左向右)和倒序(从右向左)读都一样的整数。
例如:121是回文,而123不是。
//判断是否是回文数的整数
int num = 123;
int temp = 123;
//用来存储转换后的回文数
int result = 0;
//循环条件由下面分析得出
while (num != 0) {
//思路: 个位、十位、百位...求和后与原值比较
//第一次循环获取a = 3,第二次循环获取a = 2,第三次循环获取a = 1
int a = num % 10;
//第一次循环num = 12,第二次循环num = 1,第三次循环获取num = 0
//当num等于0时应结束循环,所以循环条件应为 num!=0;
num = num / 10;
/**
* 第一次循环计算个位不确定是否有十位, result=0;结果为 0*10+3=3; 3
* 第二次循环说明有十位,result=3,结果为3*10+2=32; 32
* 第二次循环说明有百位,result=32,结果为32*10+1=321; 321
*/
result = num * 10 + a;
}
//计算出result后跳出循环 得出结论
if (temp == result) {
System.out.println(true);
} else {
System.out.println(false);
}