第一次个人编程作业:我的分数我做主

博客班级 https://edu.cnblogs.com/campus/fzzcxy/2018SE1
作业要求 https://edu.cnblogs.com/campus/fzzcxy/2018SE1/homework/11110
作业目标 <学会使用Markdown写随笔 在码云上创建仓库 使用Git进行源代码管理 用Java编写小工具 >
作业源代码 https://gitee.com/liu-ziwen/personal
学号 <211806338>

记录自己的代码行数,需求分析时间,编码时间。

代码用Java编写,score类 141matches,根据题目分析就想了半天,太久没有写作业敲代码,一下子都无从下手。编写代码也是熬夜有点应付作业完成的,之后会进行修补的。

根据题目进行的思路分析及分析过程中遇到的问题

1.在编程说明中已经有给了一些步骤,首先是要有一个包含主方法的类:Score
2.类中要有方法获取到班课活动页面中已获得的经验值
[这里在一开始很懵,完全不知道从哪里获得,之后又看了一遍题目,提到参数small.html和all.html分别是大小班课“活动”页面下载到本地的文件名,觉得可能是要通过爬取网页源代码的方式获取,但在后面的操作中还是不太会所以参考了不少已经提交的同学的代码]
3.给了一个配置文件,提供各类经验值的总分,用于将经验值换算成百分制的成绩
[看到给的.properties结尾的文件名我就觉得肯定是要用到上学期学的文件的相关知识了,但其实忘得差不多了,只是有印象的程度了]
4.接下来需要根据权重比例和百分制的要求设计一个方法,将上面配置文件中的以及提取到的经验值进行计算最后得出最终成绩

编写代码中遇到的问题以及解决方案、还存在未解决的问题

1.我觉得编写这个小工具最难的部分就是不知道怎么提取经验值,在班级群中也看到有不少同学问,但还是没什么特别的想法,之后看到有几位优秀的同学提交了作业就去他们的博客进行学习了,看到有写到jsoup,是第一次见到,之后就进行了简单的学习对其进行了解。

2.通过分析网页的源代码,我觉得首先肯定是要根据class=interaction-row获取每一板块中的内容,然后再一步步向下分层,获取其子元素,然后再根据特定的标签或者其他信息截取想要的经验值的数据。

3.把jsoup大概了解了一下其实还是不太会用,这时候参考了别人的代码进行了测试。先是测试了一下获取到的class=interaction-row是不是和源代码的一样

Element rows_ChildElement = document.select("div[class=interaction-row]").get(i);
//测试获取是否正确
System.out.println(rows_ChildElement);



(这部分代码真的弄了很久,可能是jsoup使用的还是不太熟练吧,弄了半天还没搞出来所以就参考了同学的代码然后自己在进行理解的)

4.运行的时候报错了,说jsoup的jar包不能导入(The import XXX cannot be resolved)

使用Git进行源代码管理

用命令行的方式还不太能够熟练掌握,看来还是需要多加练习,以后写代码会经常用的。看了教程视频觉得这种方式确实更易于合作学习等,自己这次的作业也是有参考其他同学码云上的代码的。

  • 做了3次commit的测试

后来才看到作业中有一项要求是:加入 .gitignore 文件和开源 license
到自己的码云仓库中发现没有这两个文件,于是参考学习后添加上了。
Github上如何添加 LICENSE 文件?参考:https://www.cnblogs.com/chenmingjun/p/8555906.html
如何创建.gitignore文件,忽略不必要提交的文件?参考:https://zhidao.baidu.com/question/2053485325521871027.html

总结

通过这次作业,觉得自己需要学习的地方实在太多了,厉害的同学也很多,值得我学习。好多地方就算有点思路但还是不知道怎么下手,在参考别人的情况下才继续下去的,觉得这样很不好。上学期学的部分知识掌握的不熟练,还要翻以前的内容照着写,可见代码敲得不够多。但感觉这种自我一步步解决问题,不断搜索学习的感觉还是很好的,之后的作业会尽量自己努力完成的。还没完全掌握的内容会勤加练习的。这次作业中Jsoup的使用,Git的使用等我会继续好好学习,完善作业和笔记的。

原文地址:https://www.cnblogs.com/liuziwen/p/13649380.html