• 第三次作业:个人项目-小学四则运算 “软件”之初版


    本次作业要求来自:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2166

    本次作业github:https://github.com/leo0620/Calculate

    一.个人软件过程耗时估计与统计表

    PSP2.1 Personal Software Process Stages Time Senior Student Time
    Planning 计划 8 10
    · Estimate 估计这个任务需要多少时间 8 10
    Development 开发 80  100
     · Analysis 需求分析 (包括学习新技术)  6  7
     · Design Spec 生成设计文档  5  6
     · Design Review 设计复审  4  6
     · Coding Standard 代码规范  3
     · Design 具体设计  10 11
     · Coding 具体编码  36  30
     · Code Review 代码复审  7
     · Test 测试(自我测试,修改代码,提交修改)  10  8
     Reporting 报告  9  6
      测试报告  3  3
      计算工作量
     2  1
       并提出过程改进计划  3  3

    二.构思

    具体要求:任何编程语言都可以,命令行程序接受一个数字输入,然后输出相应数目的四则运算题目和答案。例如输入数字是 30, 那就输出 30 道题目和答案。 运算式子必须至少有两个运算符,运算数字是在 100 之内的正整数,答案不能是负数。 如:

    23 - 3 * 4 = 11

    1.需求分析:生成若干条式子并算出答案,答案不为负数,式子含2个以上的运算符,数字在100之内。

    2.初步构思:若干的式子通过for循环可以完成;答案不为负数,使用if(result>0)i--;过滤掉答案为负数的式子,并再次生成式子;运算以及运算数字可以使用随机数math,random()来完成。

    三.设计

    开发工具:eclipse

    编程语言:java

    函数设计:负责生成式子的函数MakeFormula();负责判断优先级并计算答案的函数Solve();主函数main();判断用户答案是否正确并记录分数函数Score();

    四.遇到的问题

    1.优先级的判断,*/优先计算:需要查看式子中运算符的情况并作记录,没有思路去解决。

    2.式子是String类型的,要转换为int类型才能运算结果,String与int之转换出现了问题。

    3.除法的计算,整数相除会出现0的结果,比如说6/9=0,这并非正确答案。

    五.解决问题

    1.考虑到优先级的问题,使用了堆栈Stack去记录运算符,把*/放在栈顶

    2.int类型不能计算除法问题,改用float类型

    六.截图

  • 相关阅读:
    Beta 冲刺 (5/7)
    Beta 冲刺 (4/7)
    软件产品案例分析(团队)
    Beta 冲刺 (3/7)
    Beta 冲刺 (2/7)
    Beta 冲刺 (1/7)
    BETA 版冲刺前准备
    个人作业——软件工程实践总结作业
    Beta 答辩总结
    Beta 冲刺 (7/7)
  • 原文地址:https://www.cnblogs.com/leo0724/p/9763675.html
Copyright © 2020-2023  润新知