作业1MathExam
自己取一个大气又可爱的标题
一、预估与实际
| PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
|---|---|---|---|
| Planning | 计划 | 720 | 1000 |
| • Estimate | • 估计这个任务需要多少时间 | 720 | 1000 |
| Development | 开发 | 500 | 720 |
| • Analysis | • 需求分析 (包括学习新技术) | 30 | 30 |
| • Design Spec | • 生成设计文档 | 15 | 30 |
| • Design Review | • 设计复审 | 15 | 30 |
| • Coding Standard | • 代码规范 (为目前的开发制定合适的规范) | 40 | 60 |
| • Design | • 具体设计 | 40 | 60 |
| • Coding | • 具体编码 | 200 | 360 |
| • Code Review | • 代码复审 | 30 | 50 |
| • Test | • 测试(自我测试,修改代码,提交修改) | 60 | 120 |
| Reporting | 报告 | 30 | 40 |
| • Test Repor | • 测试报告 | 30 | 40 |
| • Size Measurement | • 计算工作量 | 10 | 20 |
| • Postmortem & Process Improvement Plan | • 事后总结, 并提出过程改进计划 | 20 | 20 |
| 合计 | 1000 |
二、需求分析
我通过百度的方式了解到,小学一年级数学有如下的几个特点:
- 特点1 只有加减法
- 特点2 运算不大于100,不小于0
经过分析,我认为,这个程序应当:
- 使用的数字小于100
- 并且大于0
三、设计
1. 设计思路
说明你如何设计这个程序
比如:
- 这个程序有1个类,2个函数
- 命令行获取参数后通过函数方法随机生成所需题目,最后通过out.txt输出所需格式
- 判断命令行参数的大小,随机生成数和随机获取+-*/号
2. 实现方案
写出具体实现的步骤
比如:
- 准备工作:先在Github上创建仓库,克隆到本地,完成代码后提交。
- 技术关键点:cmd命令运行java,代码的编写。
四、编码
请说明你如何按照设计思路进行编码,并记录你在开发中遇到的问题,与解决过程
1. 调试日志
记录编码调试的日志,请记录下开发过程中的 debug 历程
比如:
-起初在代码的第十行定义命令行参数后出现Exception in thread "main" java.lang.ArrayIndexOutOFBoundsException:0的报错,是数组越界了,后在try前加入对命令行参数输入的长度进行判断消除了错误。
-由于创建out.txt的代码位置打错,导致程序无法正常运行,后更换其位置可以正常运行。
-函数调用没有分清楚,重新整理了代码。
2. 关键代码
int fu=new Random().nextInt(2);//随机生成+或-号,若0为+,若1为- if(fu==0) { int x=(int)(Math.random()*100);//随机100以内一个数x int y=(int)(Math.random()*(100-x)); r=x+y; System.out.println("(" + i + ") " + x + " + " + y + " ="); da = "(" + i + ") " + x + " + " + y + " = " + r; }
3. 代码规范
请给出本次实验使用的代码规范:
- 在 if/else/for/while/do 语句中必须使用大括号。 即使只有一行代码,避免使用单行的形式
并人工检查代码是否符合规范 - 方法参数在定义和传入是,多个参数逗号后边必须加空格
- 采用4个空格缩进
- 大括号的使用约定
- 代码块缩进4个空格,如果使用tab缩进,请设置成1个tab为4个空格。
- 没有必要增加若干空格来使某一行的字符与上一行的相应字符对齐。
五、测试
输入java MathExam 5 结果正确
输入java MathExam 1000 结果正确
输入java MathExam 1.5 结果正确
六、总结
编程能力较低,时间分配不均,对编程语言的掌握不够熟练。基础不扎实,写起代码就超难,单独编写代码,尽力只完成了任务一,未来还需要多加练习。
作业1MathExam的更多相关文章
- 作业1-MathExam
MathExam 一.预估与实际 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 10 30 • Estim ...
- python10作业思路及源码:类Fabric主机管理程序开发(仅供参考)
类Fabric主机管理程序开发 一,作业要求 1, 运行程序列出主机组或者主机列表(已完成) 2,选择指定主机或主机组(已完成) 3,选择主机或主机组传送文件(上传/下载)(已完成) 4,充分使用多线 ...
- SQLServer2005创建定时作业任务
SQLServer定时作业任务:即数据库自动按照定时执行的作业任务,具有周期性不需要人工干预的特点 创建步骤:(使用最高权限的账户登录--sa) 一.启动SQL Server代理(SQL Server ...
- 使用T-SQL找出执行时间过长的作业
有些时候,有些作业遇到问题执行时间过长,因此我写了一个脚本可以根据历史记录,找出执行时间过长的作业,在监控中就可以及时发现这些作业并尽早解决,代码如下: SELECT sj.name , ...
- T-SQL检查停止的复制作业代理,并启动
有时候搭建的复制在作业比较多的时候,会因为某些情况导致代理停止或出错,如果分发代理时间停止稍微过长可能导致复制延期,从而需要从新初始化复制,带来问题.因此我写了一个脚本定期检查处于停止状态的分 ...
- Python09作业思路及源码:高级FTP服务器开发(仅供参考)
高级FTP服务器开发 一,作业要求 高级FTP服务器开发 用户加密认证(完成) 多用户同时登陆(完成) 每个用户有不同家目录且只能访问自己的家目录(完成) 对用户进行磁盘配额,不同用户配额可不同(完成 ...
- 个人作业week3——代码复审
1. 软件工程师的成长 感想 看了这么多博客,收获颇丰.一方面是对大牛们的计算机之路有了一定的了解,另一方面还是态度最重要,或者说用不用功最重要.这些博客里好些都是九几年或者零几年就开始学习编 ...
- 个人作业-week2:关于微软必应词典的案例分析
第一部分 调研,评测 评测基于微软必应词典Android5.2.2客户端,手机型号为MI NOTE LTE,Android版本为6.0.1. 软件bug:关于这方面,其实有一些疑问.因为相对于市面上其 ...
- 软件工程第二次作业——git的使用
1. 参照 http://www.cnblogs.com/xinz/p/3803109.html 的第一题,每人建立一个GitHub账号,组长建立一个Project,将本组成员纳入此Porject中的 ...
随机推荐
- 404 Note Found 队-Beta6
目录 组员情况 组员2:胡青元 组员3:庄卉 组员4:家灿 组员5:恺琳 组员6:翟丹丹 组员7:何家伟 组员8:政演 组员9:黄鸿杰 组员10:刘一好 组员11:何宇恒 展示组内最新成果 团队签入记 ...
- Linux Shell常用技巧(四)
九. awk实用功能: 和sed一样,awk也是逐行扫描文件的,从第一行到最后一行,寻找匹配特定模板的行,并在这些行上运行“选择”动作.如果一个模板没有指定动作,这些匹配的行就被显示在屏幕上.如果一 ...
- Android :Activity、Adapter、List的初步学习
Activity Activity 是一个应用组件,用户可与其提供的屏幕进行交互,以执行对手机应用操作. 每个 Activity 都会获得一个用于绘制其用户界面的窗口.窗口一般是会充满屏幕,但也不一定 ...
- OpenGL ES 渲染立体图形
一.理解 顶点数据存储在申请的缓冲区中,其由数据总线传递给着色器(如果是片元着色器,还须将顶点转换成片元),再由着色器最终渲染到涂层上: 二.思路 1.设置涂层: 2.创建上下文: 3.清空缓存区: ...
- ThreadLocal理解
ThreadLocal 概述 ThreadLocal实例仅作为线程局部变量的==操作类==,以及==线程存储局部变量时的Key==.真正的线程局部变量是存储在各自线程的本地,通过Thread类中的Th ...
- mysql/mariadb学习记录——查询2
Alias——使用一个列名别名AS 关键字: mysql> select sno as studentId,sname as studentName from student; +------- ...
- Dom操作(标签--增、删、移动)
Dom操作 移动或者插入标签的方法 1.append()和appendTo():在现存元素的内部,从后面放入元素: 先声明一个变量用来保存新标签 var $span = $('这是一个span元素') ...
- 数据结构与算法之Stack(栈)的应用——in dart
参考教科书上的一个应用例子,用栈来分析一行输入中的括号brackets是否匹配.用stdin读取用户输入,并输出检查结果.exit 退出. 注意这行代码: import 'stack.dart';// ...
- 20155301 滕树晨linux基础——linux进程间通信(IPC)机制总结
20155301 滕树晨linux基础--linux进程间通信(IPC)机制总结 共享内存 共享内存是在多个进程之间共享内存区域的一种进程间的通信方式,由IPC为进程创建的一个特殊地址范围,它将出现在 ...
- 2017-2018-3 20155337《信息安全系统设计基础》 pwd指令学习
2017-2018-3 20155337<信息安全系统设计基础> pwd指令学习 任务要求 学习pwd指令 研究pwd实现需要的系统调用(man -k:grep),写出伪代码 实现mypw ...