回文数
Posted 20175317zrw
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了回文数相关的知识,希望对你有一定的参考价值。
回文数
需求分析
该项目需求是要判断一个数是否满足回文数的各个条件,并输出判断结果。回文数:设n是一任意自然数。若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数(参考百度百科对回文数的解释)
功能设计
- 基本功能:查找、判断并输出回文数
- 扩展功能:输入一个区间的两个端点,判断该区间内是否存在回文数,根据判断输出相应的结果
设计实现
首先定义两个变量a,b,存储用户输入的区间头和尾,之后使用for循环遍历区间,逐个判断每一个数是否为回文数,判断过程见核心代码的注释。
测试运行
正常情况
异常情况
核心代码
for (int i=a;i<=b ;i++) { //遍历a到b
int num =i;
String str=String.valueOf(num); //将该数转化为字符类型
int len=str.length(); //读取字符串长度
if (len>1){ //如果i不是个位数
int j=0;
while(j<=(len/2)-1 && str.charAt(j)==str.charAt(len-j-1)) { //如果j未读取到字符串的一半且头尾对应位置字符相等
j++;
}
if(j==len/2){ //如果字符串正序和倒序相等
System.out.println(i); //i为回文数
count++; //计数变量加一
}
}
}
总结
回文数虽然比较好理解,但是相比来说通过程序实现输出区间中的回文数还是较为复杂的,这个项目中将数字转化为字符,之后使用String
类的常用方法进行比较判断会比比较数字容易一点。
PSP
步骤 | 耗时(min) | 百分比 |
---|---|---|
需求分析 | 15 | 21.4% |
设计 | 10 | 14.3% |
代码实现 | 20 | 28.6% |
测试 | 10 | 14.3% |
分析总结 | 15 | 21.4% |
以上是关于回文数的主要内容,如果未能解决你的问题,请参考以下文章