2018-2019-2 20175310 个人项目报告4--回文数
定义:
回文数是指一个像14641
这样“对称”的数,即:将这个数的数字按相反的顺序重新排列后,所得到的数和原来的数一样。
需求分析:
根据回文数的定义,用Java语言进行设计实现。
设计实现:
本代码实现的是判断用户输入的数是否为回文数。
伪代码:
1、读取用户输入的数字
2、将左边起第n位和右边起第n位进行比较,如果相等j++
3、判断j是否与位数/2相等,若相等即为回文数
难点总结:
本代码实现的是判断用户输入的数字是否为回文数
难点主要在于左边起第n
位和右边起第n
位的比较,一开始写的是word.charAt(j) == word.charAt(i - j - 1)
,判断结果一直有误,调试过后才发现我没有-1
while (j <= (i / 2) -1 && word.charAt(j) == word.charAt(i - j - 1)) {
j++;
}
最后一步判断,不管数字的位数是奇数还是偶数都可以用j == i / 2
来表示,因为j == i / 2
的结果为整数,例如123321
和12321
都是回文数
if (j == i / 2) {
System.out.println(word+"是回文数");
}
运行结果截图:
码云链接
PSP时间
步骤 | 耗时(min) | 百分比 |
---|---|---|
需求分析 | 10 | 11% |
设计 | 15 | 16% |
代码实现 | 25 | 27% |
测试 | 10 | 11% |
分析总结 | 30 | 32% |