首页 > 其他 > 详细

个人作业1

时间:2018-09-12 00:18:51      阅读:128      评论:0      收藏:0      [点我收藏+]

个人作业
一、预估与实际

> PSP2.1 Personal Software Process Stages 预估耗时(分钟)
Planning 计划 695 860
? Estimate ? 估计这个任务需要多少时间 695 860
Development 开发 695 860
? Analysis ? 需求分析 (包括学习新技术) 120 140
? Design Spec ? 生成设计文档 20 30
? Design Review ? 设计复审 30 40
? Coding Standard ? 代码规范 (为目前的开发制定合适的规范) 30 40
? Design ? 具体设计 80 100
? Coding ? 具体编码 270 310
? Code Review ? 代码复审 30 40
? Test ? 测试(自我测试,修改代码,提交修改) 35 45
Reporting 报告 25 35
? Test Repor ? 测试报告 20 25
? Size Measurement ? 计算工作量 15 25
? Postmortem & Process Improvement Plan ? 事后总结, 并提出过程改进计划 20 30
合计 860

二、需求分析
我通过百度和朋友的方式了解到,小学一、二年级数学有如下的几个特点:

  • 1.一年级只有0-100以内的加减法运算;
  • 2.一年级加减法运算结果不会为负数;
  • 3.二年级乘除运算结果都为正数;
    经过分析,我认为,这个程序应当:
  • 一年级加减法运算结果都为正整数;
  • 二年级乘除运算只有在1-9以内的运算,不能为0;

三、设计

1. 设计思路

用户输入的参数,需要判断是否符合要求,不符合就直接结束运算,符合就继续判断。
根据输入的参数,随机生成加减乘除运算,运算需要符合小学一二年级的算术规则,
加法不能大于100,减法不能小于0,乘除不能为0,最后要有文件的生成与写入。

2. 实现方案

写出具体实现的步骤

  1. 实现方案
    写出具体实现的步骤
  • 准备工作:先在Github上创建仓库,克隆到本地...
  • 输出out.txt文件
  • 如何用命令行输出参数

四、编码

  • 用args[0]和args[1]数组来实现从命令行中接收到的参数
  • 用Random来生成随机数

1. 调试日志

  • 如果数组越界,就扩大数组;

  • 无法用命令行直接传参,用args数组解决;

  • 不会将运算后的结果写入txt文件里,经过百度以后找到了解决办法;
  • 发生过题号都是1,原因是没有循环变量i或者j++;
  • 本来题目是数量是10,运行后只输出5套题,原因是用了同一个循环变量i来统计题号和参与循环,导致集合越界。
  • ArrayList集合中变量都为String类型,int类型的变量需要先强制转换成String类型。

2. 关键代码

>public static void h(ArrayList<String> list) { // 新建一个方法用来专门输出
        int i = 0;
        File toFile = new File("out.txt");
        PrintStream ps = null;
        OutputStream os = null;
        try {
            // ps=new PrintStream(toFile);//可直接传File
            os = new FileOutputStream(toFile, false);// true在原文件上追加
            ps = new PrintStream(os, true);// true自动刷新
            for (i = 0; i <= 2*n- 2; i = i + 2) {
                ps.println(list.get(i));
            }
            ps.println();
            for (i = 0; i <= 2*n - 2; i = i + 2) {
                ps.print(list.get(i));
                ps.println(list.get(i + 1));
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } finally {
            ps.close();
        }
}
创建out.text文件,把题目和答案存入txt文件中。

3. 代码规范

  • 采用四个空格缩进,不能使用tab键
  • 一些模糊的变量需要用//xxxxxxxxxxxxxxxx来备注,以便知道变量代表的什么意思
  • 同一个类中避免出现相同的字母变量
  • 尽量使用if{}else,不要一直if去判断
  • 变量都需要先赋予初始值
  • 在集合ArrayList中都要用String类型,将int类型强制转换成String类型。

五、测试

  • 输入:100 2 输出结果: 100道小学二年级的乘除算法题目
  • 输入:a100 2 输出结果: 输入有误
  • 输入:1000 1 输出结果: 1000道小学一年级的加减算法题目
  • 输入:100 a1 输出结果:输入有误
  • 输入:100 2 2 输出结果: 输入有误

六、总结

  • 需要养成代码缩进的好习惯;
  • 写代码的格式很不规范,需要慢慢实践改善;
  • 平时不常敲代码,对JAVA的一些基础知识的理解还有些欠缺,这次的很多不理解的地方经过朋友和百度的帮助下,解决了很多问题;
  • 拿到项目前一定要先分析需求,构思好大致方向,才能高效率敲好代码。
  • 下次我会继续努力,day day up!

个人作业1

原文:https://www.cnblogs.com/chenbin1234/p/9631822.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!