目录

  • 黑洞简介
  • 需求分析
  • 功能设计
  • 测试运行
  • 设计实现
  • 核心代码及码云链接
  • 修改路上的坎坎坷坷
  • 总结
  • PSP
  • 参考资料

黑洞简介

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

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

西西弗斯黑洞

西西弗斯黑洞,即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

  • 能够实现处理异常输入值,如float型或者char型

测试运行

1.异常输入测试

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

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

设计实现

  1. 用户界面 :实现读取用户输入的黑洞类型
  2. 判断输入值是否合法
  3. 调用所需要的类型
  4. 计算、验证黑洞情况

核心代码及码云链接

1.异常输入处理,代码如下

import java.util.Scanner;
public class Testint {public int Testint(){{Scanner sc = new Scanner(System.in);String x;int count = 0;while (count < 3) {try {x = sc.nextLine();//以获取字符串形式获取输入值if (Integer.valueOf(x) instanceof Integer) {//判断输入值是否为int型,Integer为int的包装类int i = Integer.parseInt(x);return i;}} catch (Exception e) {System.out.println("警告!!!您需要输入正整数.");count++;}}System.out.println("错误次数过多,您的请求被拒绝!");return -1;}}
}

其中next() 方法会使得出现如下情况,所以必须需要nextLine()

instanceof是Java中的一个双目运算符,用来测试一个对象是否为一个类的实例,具体用法可参考instanceof的用法

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

3.计算整数的数据长度

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



修改路上的坎坎坷坷

尝试一
调用其他主函数主函数名.main(null)

为了使程序更加的整齐规范,还是将这个用法废弃了。

尝试二
在尝试更改类名、包名时,我看到了重构的方便

总结

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

PSP

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

参考资料

  • 百度百科:数学黑洞
  • 百度百科:圣经数
  • Scratch编程-数字黑洞1和4
  • 百度百科:冰雹猜想
  • instanceof的用法

转载于:https://www.cnblogs.com/ysz-123/p/10877113.html

20175234 2018-2019-2 个人项目:数字黑洞相关推荐

  1. string去掉后四位_数字黑洞(下):四位数的黑洞

    在上一期中我们展示了三位黑洞数的求解过程,其中的关键技术是数字的排序及位置交换.本期文章继续讨论有关数字黑洞的问题,展示四位黑洞数的求解过程. 一.用户界面 在App Inventor开发环境中打开上 ...

  2. C语言黑洞数字123,20175234 2018-2019-2 个人项目:数字黑洞(三):圣经数

    #20175234 2018-2019-2 个人项目:数字黑洞(三):圣经数 ###来源 这个美妙的名称出自圣经<新约全书>中约翰福音第21章:耶稣对他们说:"把刚才打的鱼拿几尾 ...

  3. 数字黑洞(一):西西弗斯黑洞

    20175234 2018-2019-2 个人项目:数字黑洞(一):西西弗斯黑洞 数学黑洞 定义:对于数学黑洞,无论怎样设值,在规定的处理法则下,最终都将得到固定的一个值,再也跳不出去了,就像宇宙中的 ...

  4. 2018年Python开源项目Top100!只在这里!

    整理 | Jane 出品 | Python大本营 2018 年的最后一天,营长为大家新鲜出炉了一份 2018 年 Python 开源项目 Top100 清单!这些项目都是营长每月通过收集 Mybrid ...

  5. 区块链开发: 2019年及以后数字货币的前景如何?

    区块链开发: 2019年及以后数字货币的前景如何 区块链是 2017年最热门的技术之一.来自世界各地的数千人试图利用比特币和其他数字货币不断上涨的价格进行投资和套现.似乎世界将在短短几年内依靠这些货币 ...

  6. 2018 年度 GtiHub 开源项目 TOP 25:数据科学 机器学习

    2018 年度 GtiHub 开源项目 TOP 25:数据科学 & 机器学习 雷锋网 AI 科技评论按:本文作者 Pranav Dar 是 Analytics Vidhya 的编辑,对数据科学 ...

  7. web大作业介绍自己的家乡_襄阳市恒大名都小学2018—2019年度寒假实践作业

    亲爱的同学们:      经过一个学期的成长,我们带着满满的收获开启了期盼已久的寒假生活.那么如何让这个寒假生活变得多姿多彩,充满意义呢?为了让我们度过一个健康.愉快.长知识.增才干,获得幸福感的寒假 ...

  8. 计算机网络管理2018版,2018~2019学年度第二学期“计算机网络管理”专业技能竞赛火热进行中...

    原标题:2018~2019学年度第二学期"计算机网络管理"专业技能竞赛火热进行中 为进一步加强我校学生技能训练,提高技能水平,让学子们更好地发挥一技之长.我校于2019年6月11日 ...

  9. 【热点】赛迪顾问发布《2018十大风眼行业》和《2018十大风眼项目》榜单!

    2018年3月22日,围绕"人工智能开启数字经济新时代",由工业和信息化部中国电子信息产业发展研究院指导.赛迪顾问股份有限公司主办的"2018中国IT市场年会" ...

最新文章

  1. ASP.NET十七种正则表达试
  2. linux支持raid5阵列,linux下raid5阵列
  3. CLOSE_WAIT状态的原因与解决方法 --转
  4. LtRecyclerView:自带上拉下拉,能增加头条目和尾条目的RecyclerView
  5. mysql docker自动化_docker自动化部署
  6. ie浏览器在线使用_全新的Edge浏览器,快来尝鲜
  7. mysql8.0版1130_navicat premium连接mysql 8.0报错error 10061和error1130问题
  8. 死磕JDK源码之String
  9. [洛谷P3919]【模板】可持久化数组
  10. deepfake ai智能换脸_AI换脸朱茵变杨幂,人工智能时代的“细思恐极”
  11. mysql1.0.17.0安装教程_mysql 8.0.17 安装配置图文教程
  12. linux系统VNC安装包下载,CentOS 7 安装VNC 和 KVM
  13. 人工智能——皇帝的新脑还是人类的终结(学习笔记)
  14. REST Assured 22 - JSON
  15. 【转】MIT博士林达华解说数学体系
  16. 解决电脑关机状态下按键盘会开机的问题
  17. 如何预防计算机病毒英语作文,电脑病毒的英文作文
  18. close事件 vue_vue中v-on支持的事件总结
  19. 文字存入mysql数据库时出现Incorrect string value错误
  20. VMware Workstation 16 Pro启动安装win10 虚拟机蓝屏

热门文章

  1. uniapp项目开机自动启动应用的配置
  2. CNN基础论文 精读+复现----GoogleNet InceptionV1 (一)
  3. Error:Dll调用问题,0X000005地址内存非法访问
  4. 计算机开启后显示器黑屏,电脑开机后显示器黑屏怎么办
  5. split()分离字符串的基本使用
  6. Windows安装生成自签证书(本地测试使用)
  7. 站长工具chinaz下的关键词消失解决办法
  8. 【C#】C#中使用GDAL3(一):Windows下超详细编译C#版GDAL3.3.0(VS2015+.NET 4+32位/64位)
  9. imdb文本爬取及数据清理
  10. 2023年Q1京东大家电销售数据分析(京东行业大盘销量查询)