腾讯:用java帮助你判断一个数是不是回文数?!


腾讯:用java帮助你判断一个数是不是回文数?!
文章图片
腾讯:用java帮助你判断一个数是不是回文数?!
文章图片
腾讯:用java帮助你判断一个数是不是回文数?!
文章图片
【腾讯:用java帮助你判断一个数是不是回文数?!】哈喽大家好 , 这里是Java小白成长记!
昨天分享了怎么来判断一个数字的奇偶性 , 其中用到了if选择语句和求余运算 , 虽然都不是很难的知识点 , 但是也不可能分享一次就不管了 , 所以今天继续分享一个和它俩有关的的代码:如何判断一个五位数是不是回文数 。

首先了解一下回文数是什么:回文数是指一个数字从前往后读和从后往前读结果是一样的 。 比如:2、66、151、2332、85658等等 , 只要正着念和反着念是一样的 , 都是回文数 。 因此回文数是在太多了 , 今天就只写一个判断五位数是不是回文数的代码 。
思路:首先还是先把规律找好 , 既然要写五位数的代码 , 先用一个五位数来举例子:12321 。 因为我们不可能在java中说什么正着读和反着读 , 要把这句话换成数学的语言 , 也就是个位等于万位 , 十位等于千位 , 只有这两个条件同时满足 , 这个数才是回文数 。 下面的问题就是如何分别得到万位、千位、十位、个位的数字了 。
首先说万位 , 想到万位的数字 , 直接用这个数除以一万 , 得到的就是万位了 , 可能有人好奇除完以后的小数呢?这里就有一个小的知识点了 , 我们如果定义了一个整数 , 这个整数运算完还是整数 , 小数部分会直接舍去 , 而且并不会4舍5入 。 举个例子:
定义一个整数i初始值为5 , 输出i/2的值 , 我们都知道答案是2.5 , 看一下结果:
结果只是2小数部分直接舍去了 , 而且也没有四舍五入 。 因此万位直接除以一万就行了 。
再来看个位:个位就要用到求余数了 , 把这个数对10求余数 , 得到的就是个位了 。 比如用21对10求余数 , 是不是商2余1 。
最后就是十位与千位:这两个要把上面的结合一下 , 十位要先把这个数除以10 , 让十位变为个位 , 再对10求余数 。 比如21怎么得到数字2 , 先用21/10=22再对10求余数 , 商0余2 。 千分位是同样的道理 , 先把这个数除以1000再对10求余数 。
每个数字都得到了 , 现在就要让万位与个位、十位与千位同时相等 , 这里就要用到逻辑运算符了 , &&或者|| 。
&表示逻辑与 , |表示逻辑或 , !表示逻辑非 , &&是短路与 , 两边同时为真才为真 , ||是短路或 , 一边为假就为假 。
代码:
第8行:首先提示用户输入一个五位数 , 第九行用变量n来存放这个数字 。
第10行:为了防止用户输错 , 用来一个if选择语句 , 因为五位数最大是99999 , 最小是10000 , 所以这里用来一个短路或“||” , 如果输入的数字大于99999或者小于10000 , 就会告诉用户输入不正确 。
第13行:如果输入的是五位数就会执行这行代码 , 又是一个if选择语句 , 如果万位等于个位同时千位等于十位 , 括号里整体才为true , 也就表示这个数是回文数 , 接着输出信息就行了;如果两个条件有一个不满足 , 括号里整体结果就为false , 就表示这个数不是回文数 , 就执行else后面的语句了 。
看一下运行结果:
可以看到 , 我们想实现的功能全部实现了 , 代码没有任何问题 。
今天的分享就结束了 , 有任何问题欢迎评论或私信 。