1、首先什么是回文数
回文数是指一个值反过来看和当前值一样,例如 121,202......等
2、算法实现
首先明确思路,要把当前的值按位取反,生成一个新的数,例如101,将个位的1变为百位的1,将百位的1变为个位的1,十位的0还是变为十位的0;
public class HuiWen {
public static void main(String[] args) {
//定义两个int变量,number用来存储键盘中输入的值,m用来当做计算中被改变的变量,n用来存储反过来以后的值
int number,m,n = 0;
System.out.println("请输入一个大于0的整数值:");
//创建一个Scanner类的对象sc
Scanner sc = new Scanner(System.in);
//通过sc对象的nextInt()方法来获取从键盘中输入的整数值
number = sc.nextInt();
//将number中的值赋给m,由m参与计算,number的值用于比较,所以不可变
m=number;
while (m>0){
//将n中的值升位
n=n*10;
//获取m的个位值,并把它加到n的个位值中
n+=m%10;
//将m中的值降位,把原本的十位变成个位,原本的个位舍弃
m=m/10;
};
//比较两个值是否相等,相等即为回文数,否则就不是回文数
if (number==n){
System.out.println(number+"是回文数");
}else {
System.out.println(number+"不是回文数");
}
}
}
3、测试