20175234 2018-2019-2 个人项目:数字黑洞

20175234 2018-2019-2 个人项目:数字黑洞

黑洞简介

数字黑洞是什么(以下链接可以直达,单个详细博客)

对于数学黑洞,无论怎样设值,在规定的处理法则下,最终都将得到固定的一个值,再也跳不出去了,就像宇宙中的黑洞可以将任何物质,以及运行速度最快的光牢牢吸住,不使它们逃脱一样。

西西弗斯黑洞

西西弗斯黑洞,即123黑洞,对任一整数,不断重复数出这个数中的偶数个数,奇数个数,及这个数中所包含的所有位数的总数,将数整理为“偶数个数,奇数个数,总位数”排列,最后必得出123的结果。

冰雹猜想

冰雹猜想是指,一个自然数x,如果是奇数就乘以3再加1,如果是偶数就析出偶数因数2ⁿ,这样经过若干个次数,最终回到1。

圣经数

任写一个3的倍数(正整数),把各位数字的立方相加,得出和,再把和的各位数字立方后相加,如此反复进行,最后必然出现“圣经数”。

数字黑洞1和4

数学黑洞1和4是指任取一个非0自然数,求出它的各个数位上数字的平方和,得到一个新数。再求出这个新数各个数位上数字的平方和,又得到一个新数。如此进行到最后只有两种情况: 出现1,之后永远都是1;出现4,之后开始按4、16、37、58、89、145、42、20循环。

需求分析

  • 根据用户选择的黑洞类型,验证用户输入的正整数的黑洞情况。

功能设计

  • 设计一个类,来获取用户想要验证的黑洞类型。
1.  西西弗斯黑洞
2.  冰雹猜想
3.  圣经数
4.  数字黑洞1和4

测试运行

1.异常输入测试

2.调用其他包内类结果测试

其他测试结果,可由上面链接,进入单个博客查看

设计实现

  1. 用户界面 :实现读取用户输入的黑洞类型
  2. 调用所需要的类型
  3. 计算、验证黑洞情况

核心代码及码云链接

  1. 调用其他包中函数import 包名.函数名,例子如图

  2. 调用其他主函数主函数名.main(null),例子如图

  3. 计算整数的数据长度

除了简单的递归除以10以外,可以使用Java提供的为int提供的封装类Integer,以下是构造方法和常用方法摘要。



总结

1. 要尽量按照驼峰规则命名,并且按照其英语名称命名,增加后期整理总结可读性。
2. 在前期写单个函数时就要尽量遵守SOLID规则,后期的修改更为麻烦。

PSP

步骤 耗时(分钟) 百分比
需求分析 50 14.2%
设计 40 11.4%
代码实现 120 34.2%
测试 20 5%
分析总结 120 34.2%

参考资料

猜你喜欢

转载自www.cnblogs.com/ysz-123/p/10877113.html