第一次个人编程作业:我的分数我做主
博客班级 | https://edu.cnblogs.com/campus/fzzcxy/2018SE2 |
---|---|
作业要求 | https://edu.cnblogs.com/campus/fzzcxy/2018SE2/homework/11169 |
作业目标 | 熟悉git,养成写随笔的习惯,熟悉码云的使用 |
作业源代码 | https://gitee.com/gu-qingyao/gqy/tree/master/211806316_uml |
学号 | 211806316 |
一.代码行数:108; | |
二.需求分析时间:10分钟 |
(其实思路是很清晰的一想就能想到,但是我的动手能力不强,不能把我想的实现出来,百度花费了绝大部分时间.)
三.编码时间:6h(主要是百度的时间,花费了太久)
四.分解需求的思路:
1.先从云班课将两份html文件复制下来
2.开始解析这两个html文件
File f1 = new File("html/small.html");
File f2 = new File("html/all.html");
Document small = Jsoup.parse(f1, "UTF-8");
Document all = Jsoup.parse(f2, "UTF-8");
Jsoup这个函数当时让我很头疼,因为百度到用这个函数做很简单,但是当我引用的时候eclipse又没有这个包,当时一度让我自闭,后来导入jsoup-1.13.1.jar包以后又报了一堆错误,我花了将近30分钟在跟Jsoup做搏斗.
3.通过找规律找到所有活动共有的名字interaction-row,从而选择所有活动
Elements div = small.getElementsByClass("interaction-row");
Elements div1 = all.getElementsByClass("interaction-row");
4.通过找到每个活动的child,通过text()转换成字符串,用indexOf加一个判断来筛选活动,或者用contains做一个判断.
if (divget.child(1).child(0).child(1).text().indexOf("课堂完成部分")>=0) {
if (divget.child(1).child(2).child(0).text().indexOf("已参与")>=0) {
Scanner ktwc = new Scanner(divget.child(1).child(2).child(0).child(7).text());
mybase += ktwc.nextDouble() * 0.2;
}
}
5.最后输出
myscore = myadd + mybase + mybefore + myprogram + mytest + 6;
System.out.println(myscore);
参考资料
jsoup-1.13.1.jar包:https://jsoup.org/download
获取div的数据:https://bbs.csdn.net/topics/390866519
Java 读取 .properties 配置文件的几种方式:https://www.cnblogs.com/sebastian-tyd/p/7895182.html