zoukankan      html  css  js  c++  java
  • 第三次作业:个人项目-小学四则运算 “软件”之初版

    本次作业要求来自: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类型

    六.截图

  • 相关阅读:
    Java byte类型转换成int类型时需要 & 0XFF的原因
    Java 原码 反码 补码
    HTTP 响应头信息(Http Response Header) Content-Length 和 Transfer-Encoding
    [No0000E6]C# 判断与循环
    [No0000E5]C# 运算符
    [No0000E3]C# 数据类型
    [No0000E2]Vmware虚拟机安装 苹果系统 mac OS 10.12
    [No0000E1]C# 关键字
    [No0000E0]批量打开当前路径下的文件
    [No0000DF]C# ZipFileHelper ZIP类型操作,压缩解压 ZIP 类封装
  • 原文地址:https://www.cnblogs.com/leo0724/p/9763675.html
Copyright © 2011-2022 走看看