第二次作业2

自己取一个大气又可爱的标题

张主强211606391 危利211606380

一、预估与实际

PSP2.1Personal Software Process Stages预估耗时(分钟)实际耗时(分钟)
Planning计划5001350
• Estimate• 估计这个任务需要多少时间7001100
Development开发460700
• Analysis• 需求分析 (包括学习新技术)4060
• Design Spec• 生成设计文档3050
• Design Review• 设计复审4065
• Coding Standard• 代码规范 (为目前的开发制定合适的规范)4070
• Design• 具体设计650700
• Coding• 具体编码700800
• Code Review• 代码复审6090
• Test• 测试(自我测试,修改代码,提交修改)80120
Reporting报告3040
• Test Repor• 测试报告6080
• Size Measurement• 计算工作量2040
• Postmortem & Process Improvement Plan• 事后总结, 并提出过程改进计划4055
合计1350

二、需求分析

我通过百度查资料的方式了解到,小学3年级数学有如下的几个特点:

  • 特点1
    加减乘除混合运算
  • 特点2
    -九九乘法表内的乘除

经过分析,我认为,这个程序应当:

在作业一上新增带括号的四则混合运算。

三、设计

1. 设计思路

-判断输入的题目数量和年级数字是否符合规范
-随机数的生成
-调用函数实现不同年级不同随机题目生成
-把运算符存进数组中
-打印结果及output.txt上

2. 实现方案

写出具体实现的步骤

  • 准备工作:先在Github上创建仓库,克隆到本地,让队友FOK我的仓库
    -技术关键点:输出至txt,还有加入四则混合运算。

四、编码

请说明你如何按照设计思路进行编码,并记录你在开发中遇到的问题,与解决过程
我先创建文件,然后通过创建数组的方式把变量设置好,然后用byte[] m = e.getBytes(); 以及in.write(m);的比特流的方式输出TXT文件

1. 调试日志

记录编码调试的日志,请记录下开发过程中的 debug 历程

  • 在弄混合运算的时候没有注意优先级的使用导致运行有问题

2. 关键代码

private static void jiajian(int count[]) throws IOException {
    File file =new File("out.txt");
     FileWriter fw = new FileWriter(file);
     BufferedWriter bw = new BufferedWriter(fw);
    int [] as = new int[count[0]+5];
    int [] bs = new int[count[0]+5];
    char [] cs = new char[count[0]+5];
    int [] ds = new int[count[0]+5];
    
    for(int i =1;i<=count[0];i++) {             //n循环,有n道题
        int a=(int)(Math.random()*100+1);   //随机生成100以内的数字
        as[i] = a;                          //把a存入数组
        //bw.write(String.valueOf(a));      //向文本输入a值  


        int c=(int)(Math.random()*100+1);   //判断符号并且存入
        {
            if(c%2==1) {
                //bw.write(String.valueOf("-"));
                cs[i] = '-';
            }
            else  {
                //bw.write(String.valueOf("+"));
                cs[i] = '+';
                }
        }
        
        
        int b=(int)(Math.random()*100+1);   //b值
        //bw.write(String.valueOf(b));
        bs[i] = b;
        
        if(c%2==1 && a<b) {
            int answer = a+b;
            cs[i]='+';
            ds[i]=answer;
        }
        
        else if(c%2==1 ) {
            int answer = a-b;
            ds[i] = answer;
            //System.out.print("("+i+")"+a+"-"+b+"="+answer+"\n");
            //bw.write(String.valueOf("="+answer));
            //bw.newLine();
        }
        else {
            int answer =a+b;
            ds[i] = answer;
        //  System.out.print("("+i+")"+a+"+"+b+"="+answer+"\n");
        //  bw.write(String.valueOf("="+answer));
        //  bw.newLine();
        }
    }



    for(int i=1;i<=count[0];i++) {
        System.out.print(as[i]);
        bw.write(String.valueOf(as[i]));    
        System.out.print(cs[i]);
        bw.write(String.valueOf(cs[i]));    
        System.out.println(bs[i]);
        bw.write(String.valueOf(bs[i]));
        bw.newLine();
    
System.out.println("-------------标准答案--------------");
    bw.write(String.valueOf("-------------标准答案--------------"));
    bw.newLine();
    
    
    for( i=1;i<=count[0];i++) {
        System.out.print(as[i]);
        bw.write(String.valueOf(as[i]));
        System.out.print(cs[i]);
        bw.write(String.valueOf(cs[i]));
        System.out.print(bs[i]);
        bw.write(String.valueOf(bs[i]));
        System.out.println("="+ds[i]);
        bw.write(String.valueOf("="+ds[i]));
        bw.newLine();
    
    bw.close();
    fw.close();
    }
    }
}

3. 代码规范

请给出本次实验使用的代码规范:

手动处理异常,不抛出。

合理利用开辟的空间
进行适当合理的代码注释,方便理解,修正

代码中不能使用拼音与英文混合的方式,更不允许直接使用中文的方式。

并自己检查代码是否符合规范

五、测试

请思考并记录你认为必要的测试点,并记录测试用例与测试结果

代码没添加混合运算还可以运行,弄完到最后运行不出来了....

六、总结

请总结过程中的教训和经验,思考
我在其中感觉到这次作业增加的难度还是对于我来说真的写不了,没有思绪,直到百度了解许多东西还有记起了以前老师教过的东西,才逐渐搞出点东西,感觉自己还需要多理解代码意义还有多实践去打代码,欠缺太多敲代码的过程了。
1472390-20180918215940456-1853226198.jpg

posted on 2018-09-18 21:39 我想学代码 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/weili-Sakura/p/9671620.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值