还记得刚学C语言时写的回文数代码吗?
将数字和一千取整获得千位数,将数字和1000取余再和100取整获得百位数,和100取整再和10取余获得十位数,和10取余获得个位数。 大家刚开始学习时应该都用的是这样的方法
那要是这个数很大呢或者是位数很多的时候,这时用这个方法就不太适用了
下面我给大家分享一个新的方法 位数多的时候也适用了
先把把代码奉上 供大家参考
public class 回文数 {
public static void main(String[] args) {
/*需求: 给你一个整数X,如果是一个回文数,打印ture,否则,返回false*/
int x = 121;
int temp = x;
int num = 0;
//2.用循环从右往左获取每一位数字 循环次数不知道用while
while (x != 0) {
//从右往左获取每一位数字
int ge = x % 10;
//修改一下x记录的值
x = x / 10;//去掉最右边的一位数
//把当前获取到的数字拼接到最右边
num = num * 10 + ge;
}
System.out.println(num == temp);
}
}
首先定义一个判断是否为回文数的数字x, 因为后面的代码会对x的值进行比较,所以我们重新定义一个变量temp来存储x变量的值。首先进入while循环,定义一个变量接收x个位数的值,然后将x的值和10取整,也就是将x最右边的一位数删掉,接着定义一个新的变量num = num * 10 + ge 这行代码
可以将x从右数的每一位显示出来,乘10 加ge 因为ge每次循环的值都会改变,为x从右到左的每一位数,最后while的条件是x!=0,x等于0就一直运行下去.
这就是这个方法的全部内容了
谢谢小伙伴们看到现在.