第一次个人编程作业

博客班级 2018软件工程2班
作业要求 第一次个人编程作业:我的分数我做主
作业目标 熟悉git的使用,学会分析需求,自主学习完成需求的方法
作业源代码 personal
学号 211806336

1.对题目需求的分析

阿荣看自己上个学期Java的那点分数居然不服气地想设计自己的分数,想的倒挺美。
他对自己的分数安排如下:

那么想要拿到分数就不能自己一个个去网页上逐个相加,毕竟阿荣觉得自己已经是软件工程专业大三的学生了。
所以直接去两个云班课上保存了各自活动页面的.html代码,从中可以获取有关的经验值信息。

2.用java把网页中有关经验值的内容提取出来

jsoup 就是一款 Java 的HTML解析器,可以很方便地提取网页中需要的内容。

jsoup 下载地址

有关 jsoup 教程的博客1

有关 jsoup 教程的博客2

jsoup 提取html中的内容与 css 的选择器类似
将 jsoup 的jar包下载下来在eclipse中右键->Build Path之后就可以使用了。

先导入需要的数据资源

通过jsoup解析出需要的数据


在分析网页代码的时候,发现有关题目和分数的信息是由一个class="interaction-row"的div包围的

同时也发现,并非所有的作业都完成了,未完成和已完成的作业都是有经验值的,但未完成的经验值是以不同颜色呈现的


所以就要排除样式是color:#EC6941;的分数,不能浑水摸鱼。
接下来要用的就是正则表达式,在判断出作业类型的情况下,把该作业的经验值提取出来,并相加
大班课主要以课前自测为主,小班课主要以课堂完成部分,课堂小测部分,编程题和附加题为主
然而,有个名为课前自测的叛徒躲在了小班课里

这样在我们计算课前自测分数时,不仅要解析大班课的代码,也要解析小班课的代码。

3.计算总分

最终,我们用阿荣的算法,经过一番计算,就可以得出“阿荣分”!然并卵

4.总结

本次的代码一共157行,其中五种类型题目分数提取的代码几乎是一样的。
这次作业最大的难点在于使用 jsoup 以及正则表达式的使用,以及太多的变量名有点杂乱了
jsoup没用过,正则表达式用了忘了
这次的作业的时间大约花了400分钟作业,大部分时间花在了了解jsoup,以及再次熟悉正则表达式的方面
或许多做几次就能对找资料以及使用资料有更好的方法

posted on 2020-09-13 22:31  我可不乱来  阅读(198)  评论(1编辑  收藏  举报

导航