第一次个人编程作业

这个作业属于哪个课程 工程概论
这个作业要求在哪里 工程概论开篇(第一次作业)
这个作业的目标 完成个人编程作业编码部分

开发环境:
Eclipse IDE Version: 2022-09 (4.25.0)

1.在Github仓库中新建一个学号为名的文件夹。


2.PSP表格[附录2]

PSP2.1 Personal Software Process Stages 预估耗时(min) 实际耗时(min)
Planning 计划 15 10
Estimate 估计这个任务需要多少时间 90 60
Development 开发 20 40
Analysis 需求分析 (包括学习新技术) 15 5
Design Spec 生成设计文档 5 10
Design Review 设计复审 10 20
Coding Standard 代码规范 5 10
Design 具体设计 25 15
Coding 具体编码 10 10
Code Review 代码复审 5 5
Test 测试 20 30
Reporting 报告 30 30
Test Repor 测试报告 25 10
Size Measurement 计算工作量 5 10
Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 5 5
合计 285 270

3.具体思路

·从命令行参数中获取原文文件路径、抄袭版论文文件路径和输出答案文件路径。
·使用 readFile 方法读取原文文件和抄袭版论文文件的内容,并存储为字符串。
·使用 preprocessText 方法预处理原文和抄袭版论文文本,去除标点符号和多余空格,并将文本转换为小写。
·使用 calculatePlagiarismRate 方法计算重复率。首先,将原文和抄袭版论文文本分割成单词数组。然后,比较每个单词是否在两个数组中都存在,以确定匹配的单词数。最终,计算匹配的单词数与总单词数之比,得到重复率。
·使用 formatPlagiarismRate 方法格式化重复率为小数点后两位。
·使用 writeResult 方法将格式化后的重复率写入答案文件。
·处理可能出现的异常并进行适当的处理。

4.计算过程

从原文和抄袭版论文中分别读取文本内容,并进行预处理,包括去除标点符号、多余空格和转换为小写。这样可以确保比较的一致性和准确性。
将预处理后的原文和抄袭版论文文本分割成单词数组,分别存储为 originalWords 和 plagiarizedWords。
初始化两个变量: totalWords(总单词数) 和 matchingWords(匹配的单词数),并将两个变量都设置为 0。
对于原文中的每个单词 originalWord,在抄袭版论文的单词数组 plagiarizedWords 中查找是否有匹配。如果找到匹配的单词,将 matchingWords 自增,并立即终止内部循环(避免重复计数)。
计算重复率:将 matchingWords 除以 totalWords,得到一个小数值,表示匹配的单词数与总单词数之比。这是一个精确的度量,反映了原文与抄袭版论文之间的重复程度。最后返回重复率的结果。

5.文本预处理以及重复率计算

6.测试


posted @ 2023-09-20 19:38  bkx1  阅读(69)  评论(0)    收藏  举报