标签:复杂 length 程序 数字 运行 功能设计 设计 存在 alt
该项目需求是要判断一个数是否满足回文数的各个条件,并输出判断结果。回文数:设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
类的常用方法进行比较判断会比比较数字容易一点。
步骤 | 耗时(min) | 百分比 |
---|---|---|
需求分析 | 15 | 21.4% |
设计 | 10 | 14.3% |
代码实现 | 20 | 28.6% |
测试 | 10 | 14.3% |
分析总结 | 15 | 21.4% |
标签:复杂 length 程序 数字 运行 功能设计 设计 存在 alt
原文地址:https://www.cnblogs.com/20175317zrw/p/10923636.html