首页 > 其他分享 >个人项目

个人项目

时间:2024-03-13 20:13:40浏览次数:30  
标签:个人 删除 项目 30 60 文章 original wordLength

这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/SoftwareEngineering2024/
这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/SoftwareEngineering2024/homework/13136
这个作业的目标 个人项目开发

Github链接
https://github.com/shishuiliuqing/shishuiliuqing

程序实现
1.本次个人项目通过java进行实现,由 3 个类构成--Paper 类、FileToActicle 类、Main 类。Paper 类执行论文相关操作,FileToActicle 类执行文件操作,Main 类作为程序主入口。
2.通过 java.io.FileReader 类进行文本文件的导入,java.io.FileWriter 类进行结果文件的输出。
3.通过标记两篇文章(文章的标点符号均删除)中的连续相同文本并进行删除,最终根据删除后文本的长度与删除前文本长度相除,从而得出相似度。
性能分析图

单元测试

删除标点符号

    //删除文章中的标点符号,回车,空格
    private String delete(String article) {
        return article.replaceAll("[\\s,。:“”、!;?《》()*+\\-/]", "");
    }

比较操作:将字数多的文章作为比较原文,从比较原文开头开始截取一个词长的长度,从另一篇文章中判断是否有相同文本并标记,然后删除比较原文的第一个字,然后继续截取,以此循环,最终直到比较原文被完全删除,从而另一篇文章的所有连续相同文本均被标记后删除。

//将本文与另一文章进行相似比较,删除所有与另一文章相同的词和语句
    private void articleCompare(Paper anotherArticle) {
        //比较原文
        String original = anotherArticle.getArticle();
        //词长
        int wordLength = 3;
        //文本连续判断,若连续则把连续片段标记为 *
        while (original.length() >= wordLength) {
            //从文章开头取一个词
            String word = original.substring(0, wordLength);

            if (!markWord(word)) {
                char character = word.charAt(wordLength - 1);
                markCharacter(character);
            }

            //删除文章第一个字
            original = deleteFirstCharacter(original);
        }

        //把剩余不足一个词长的文字进行判断
        for (int i = 0; i < wordLength - 1 && i < original.length(); i++) {
            markCharacter(original.charAt(i));
        }

        article = article.replace("*", "");

    }

代码覆盖率

运行结果

异常处理
任一路径没有输入

任一路径输入有误

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

标签:个人,删除,项目,30,60,文章,original,wordLength
From: https://www.cnblogs.com/shishuiliuqing/p/18071409

相关文章

  • Node+Vue毕设高校教师项目申报管理平台(程序+mysql+Express)
    本系统(程序+源码)带文档lw万字以上 文末可获取本课题的源码和程序系统程序文件列表系统的选题背景和意义选题背景:在高等教育领域,教师参与科研项目是推动学科发展和创新的重要途径。随着科研竞争的加剧,高校教师需要积极申报各类科研项目以获取资金支持。然而,项目申报过程......
  • 【DataWhale学习】用免费GPU线上跑StableDiffusion项目实践
    用免费GPU线上跑SD项目实践​DataWhale组织了一个线上白嫖GPU跑chatGLM与SD的项目活动,我很感兴趣就参加啦。之前就对chatGLM有所耳闻,是去年清华联合发布的开源大语言模型,可以用来打造个人知识库什么的,一直没有尝试。而SD我前两天刚跟着B站秋叶大佬和Nenly大佬的视频学习过......
  • 3.2 RK3399项目开发实录-初次使用的环境搭建(物联技术666)
    通过百度网盘分享的文件:嵌入式物联网单片…链接:https://pan.baidu.com/s/1Zi9hj41p_dSskPOhIUnu9Q?pwd=8qo1提取码:8qo1复制这段内容打开「百度网盘APP即可获取」1.用户和密码1.1.UbuntuDesktop系统UbuntuDesktop系统开机启动后,自动登录到firefly用户。如果......
  • 3.1 RK3399项目开发实录-Linux开发,编译 Linux 固件(物联技术666)
    通过百度网盘分享的文件:嵌入式物联网单片…链接:https://pan.baidu.com/s/1Zi9hj41p_dSskPOhIUnu9Q?pwd=8qo1提取码:8qo1复制这段内容打开「百度网盘APP即可获取」1.编译Linux固件为了方便用户的使用与开发,官方提供了Linux开发的整套SDK,本章详细的说明SDK的具......
  • 影响SAP项目计划的因素
    我们在刚开始着手做项目计划的时候,可能会有点手足无措,不知道从哪里下手。大部分时候会拷贝一份之前的项目计划来用,但是不知道之前的计划是不是适合本项目。那么在做SAP项目计划的时候,到底哪些因素会影响计划?今天就给大家来揭秘。其实项目计划的主要影响因素无非就是两类,一类叫......
  • SAP项目中有哪些文档
    文档是SAP项目中的重要交付物,根据项目大小、项目方法论的不同,项目中使用的文档也会不同。文档也有不同的形式,有传统的word、excel,也有使用AzureDevOps等工具来实现的文档。我们可以根据实际需要来选择合适的文档来支持SAP项目的运行。项目计划(ProjectPlan)内容:涵盖整个项......
  • Node+Vue毕设风投项目管理(程序+mysql+Express)
    本系统(程序+源码)带文档lw万字以上 文末可获取本课题的源码和程序系统程序文件列表系统的选题背景和意义选题背景:在当今快速发展的科技与经济时代,风险投资(VentureCapital,简称VC)扮演着至关重要的角色。它为初创企业和创新项目提供了必要的资金支持,帮助它们在市场中站稳脚......
  • 个人项目
    这个作业属于哪个课程https://edu.cnblogs.com/campus/gdgy/SoftwareEngineering2024/这个作业要求在哪里https://edu.cnblogs.com/campus/gdgy/SoftwareEngineering2024/homework/13136这个作业的目标了解项目开发的过程,学习github的使用方法GitHub链接:https:/......
  • 【分享】记一次项目迁移(docker java | docker python)
    项目:前端Vue3,后端Python+Java,数据库Redis+MySQL原先部署在centos7里面的,使用的宝塔面板部署的,还算方便。但是服务器要到期了,要将项目迁移到另外一台服务器。另外一台服务器是opencloudos+1plane本来想构建一个jdk1.8+python3.12+Nodejs环境的镜像奈何本人没学过docker,操作起......
  • 项目示例 - 3.服务网关 - 3.Gateway
    项目示例-3.服务网关-3.Gateway关联知识:分布式微服务-3.服务网关-4.Gateway内容提要:基本使用自定义断言自定义局部、全局过滤器基本使用建Module:微服务起名为gateway-server改pom:引入以下依赖<dependencies><!--gateway--><dependency......