首页 > 其他分享 >结对项目

结对项目

时间:2024-09-28 19:12:17浏览次数:6  
标签:10 结对 20 String 项目 jar 功能 Fraction

这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/CSGrade22-34
这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/CSGrade22-34/homework/13230
成员 李嘉锐(3122004951) 林进光(3122004955)
github链接 https://github.com/bitpurleclude/3122004951MathQuestionGenerator.git
这个作业的目标 与搭档合作实现一个自动生成小学四则运算题目的命令行程序

PSP表格

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

设计实现过程

效能分析



代码说明

ArithmeticGenerator 类中各个函数的说明:

generateExpression(Random rand, int range, int complexity):
功能: 生成一个随机的数学表达式。

findClosingParenthesis(String[] tokens, int start):
功能: 找到与给定起始位置匹配的右括号的位置。

isOperator(String token):
功能: 检查给定的字符串是否是运算符。

hasPrecedence(String op1, String op2):
功能: 检查两个运算符的优先级。

applyOperator(Fraction left, Fraction right, String operator):
功能: 对两个分数应用指定的运算符并返回结果。

parseFraction(String operand):
功能: 将操作数字符串解析为 Fraction 对象。

Fraction 类中各个函数的说明:

Fraction(int numerator, int denominator):
功能: 构造一个具有指定分子和分母的分数对象。

add(Fraction other):
功能: 将当前分数与另一个分数相加。

subtract(Fraction other):
功能: 将当前分数与另一个分数相减。

multiply(Fraction other):
功能: 将当前分数与另一个分数相乘。

divide(Fraction other):
功能: 将当前分数与另一个分数相除。

compareTo(Fraction other):
功能: 比较当前分数与另一个分数的大小。

toString():
功能: 返回分数的字符串表示形式。

reduce():
功能: 将分数化简为最简形式。

gcd(int a, int b):
功能: 计算两个整数的最大公约数。

Calculate 类中各个函数的说明:

calculateAnswer(String expression):
功能: 计算给定数学表达式的结果。

parseExpression(String expression):
功能: 将数学表达式解析为令牌列表。

evaluateTokens(List tokens):
功能: 评估解析后的令牌列表,计算表达式的结果。

applyOperator(Fraction left, Fraction right, String operator):
功能: 对两个分数应用指定的运算符并返回结果。

parseFraction(String operand):
功能: 将操作数字符串解析为 Fraction 对象。

isOperator(String token):
功能: 检查给定的字符串是否是运算符。

hasPrecedence(String op1, String op2):
功能: 检查两个运算符的优先级。

findClosingParenthesis(String[] tokens, int start):
功能: 找到与给定起始位置匹配的右括号的位置。

FileUtil 类中各个函数的说明:

writeToFile(String filename, List data):
功能: 将数据写入指定的文件。

readFromFile(String filename):
功能: 从指定的文件读取数据。

checkAnswers(String exerciseFile, String answerFile):
功能: 检查练习文件中的题目和答案文件中的答案,并生成评分结果。

测试运行

测试用例1:测试生成10个题目,范围为10

java -jar main.jar -n 10 -r 10


测试用例2:测试生成20个题目,范围为20

java -jar main.jar -n 20 -r 20

测试用例3:测试生成100个题目,范围为100

java -jar main.jar -n 100 -r 100

测试用例4:测试生成1000个题目,范围为10

java -jar main.jar -n 1000 -r 10

测试用例5:测试生成20个题目,范围为10并判定答案中的对错并进行数量统计

java -jar main.jar -n 20 -r 10
java -jar main.jar -e <题目文件路径> -a <答案文件路径>

测试用例6:输入无效的数值范围1

java -jar main.jar -n 10 -r 1

测试用例7:输入的题目数量为0

java -jar main.jar -n 0 -r 10

测试用例8:输入的题目数量不规范(小数)

java -jar main.jar -n 1.5 -r 10

测试用例9:输入的参数数量不正确(缺少或多出)

java -jar main.jar -n 10 -r

测试用例10:判定答案中的对错并进行数量统计时给出的文件路径找不到该文件

java -jar main.jar -n <错误的题目文件路径> -a <错误的答案文件路径>

项目小结

我们都是第一次组队写项目,互相都有些不是很适应,但经历一段时间的磨合后,我们俩之间对项目的交流也变得频繁,码字在出现bug时能够一起讨论bug的一些解决方法,逐渐对项目合作得心应手,通过这次组队项目,我们意识到团队合作不仅能够提高效率,还能够获得更好的结果,在合作过程中,互相学习和交流,共同解决问题,能够让我们取得更好的成果

标签:10,结对,20,String,项目,jar,功能,Fraction
From: https://www.cnblogs.com/LilaS/p/18435822

相关文章

  • 结对项目:自动生成小学四则运算题目
    这个作业属于哪个课程https://edu.cnblogs.com/campus/gdgy/CSGrade22-34这个作业要求在哪里https://edu.cnblogs.com/campus/gdgy/CSGrade22-34/homework/13230这个作业的目标结对实现一个自动生成小学四则运算题目的命令行程序项目一、项目开发人员以及仓库地......
  • 结对项目
    这个作业属于哪个课程班级的链接这个作业要求在哪里作业要求的链接这个作业的目标要求实现一个自动生成小学四则运算题目的命令行程序一、合作成员学号姓名github仓库地址3122004819陈善能https://github.com/alenbear/Elementary_arithmetic31......
  • 结对项目
    这个作业属于哪个课程软件工程这个作业要求在哪里结对项目这个作业的目标实现一个自动生成小学四则运算题目的命令行程序项目成员车峤锐3122004471黄梓洋3122004481Github项目地址:项目链接2.PSP表格(计划时间)PSP表格(个人软件过程)PSP2.1Persona......
  • 结对项目
    结对项目课程链接https://edu.cnblogs.com/campus/gdgy/CSGrade22-34作业要求https://edu.cnblogs.com/campus/gdgy/CSGrade22-34/homework/13230作业目标实现四则运算程序,掌握结对合作完成项目的技巧成员1沈思敏3122004877成员2郑灿嘉3122004887git......
  • 结对项目
    结对项目:自动生成小学四则运算题目的命令行程序这个作业属于哪个课程计科22级12班这个作业要求在哪里作业要求这个作业的目标二人合作实现一个自动生成小学四则运算题目的命令行程序姓名学号GitHub链接余李烨3222004854https://github.com/yeyezi1......
  • 结对项目
    这个作业属于哪个课程https://edu.cnblogs.com/campus/gdgy/CSGrade22-12这个作业要求在哪里https://edu.cnblogs.com/campus/gdgy/CSGrade22-12/homework/13221姓名学号阿依努尔•麦麦提艾麦尔3222004805Github项目地址https://github.com/3636492812/36364......
  • 结对项目
    3122004629杨森3122006504钟礼骏作业要求https://edu.cnblogs.com/campus/gdgy/CSGrade22-34/homework/13230作业目标用c++代码实现小学四则运算,记录PSP表格GitHub链接https://github.com/sunshyys/sizeyunsuan/tree/main函数如下:1.random():给定最大数范围后......
  • 结对项目
    结对项目这个作业属于哪个课程计科12班这个作业要求在哪里作业这个作业的目标与团队分工合作做一个小项目团队成员信息成员姓名学号班级范志杰3122004345计科1班杨文聪3122004372计科1班项目需求使用-n参数控制生成题目的个数,例如M......
  • 今日指数项目股票成交量对比功能
    股票成交量对比功能1.股票成交量对比功能分析1.1模型示列功能描述:统计A股大盘T日和T-1日成交量对比功能(成交量为沪深两市成交量之和)1.2接口示列返回数据格式服务路径:/api/quot/stock/tradeAmt服务方法:GET前端请求频率:每分钟请求参数:无{"code":1,"da......
  • 结对项目
    这个作业属于哪个课程https://edu.cnblogs.com/campus/gdgy/CSGrade22-34这个作业要求在哪里https://edu.cnblogs.com/campus/gdgy/CSGrade22-34/homework/13230这个作业的目标完成一个四则运算项目来了解项目开发流程项目成员李建龙github地址:https://git......