这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzzcxy/2018SE1 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzzcxy/2018SE1/homework/11110 |
这个作业的目标 | 学习使用Git,了解Git的上传以及更新文件,通过Jsoup查找云班课分值 |
作业源代码 | https://gitee.com/RongC_Zhang/personal/tree/master/第一次作业/src/HomeWork_01 |
学号 | 211806360 |
所花时间及代码量
代码量:119行(注释及空行)
需求分析时间:35分钟
1.审题:20分钟
2.理思路:15分钟
代码时间:7小时(包括查资料,感觉有点磨蹭 )
分解思路
1.将html导入到eclipse中解析,获得Document对象(参考:从一个文件加载一个文档).
File input = new File("/tmp/input.html");
Document doc = Jsoup.parse(input, "UTF-8", "http://example.com/");
2.查找全部经验值共同点(参考:从元素抽取属性,文本和HTML).
通过在HBuilder X中运行all.html和small.html文件找到所需的经验值都在类class=interaction-row上.
doc.select("div[class=类名]").size(); //获取所有class总个数.
doc.select("div[class=类名]").get(i); //指向第i个class.
3.查找相同类经验值所在共同点(参考:在Java代码中解析html,获取其中的值方法).
通过观察html 在同一个class的多个span标签中可获得最后一个标签为经验值所在地方、第二个标签为该题经验所对应的题型.
.select("span").size(); //获取所有span总个数.
.select("span").get(i).text();//指向第i个span
.select("span").get(i).text();//指向第i个span的文本
4.判断题型找出并取出经验值.
通过indexOf()判断各个经验值对应的题型(参考:JavaScript indexOf() 方法).
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置.
indexOf():如果要检索的字符串值没有出现,则该方法返回 -1.
if(rows.indexOf("小测")!=-1)
并取出经验值所在的span标签文本
.select("span").get(spansize-1).text();//指向最后1个span标签的文本(里面带有经验值)
5.通过isNum()函数计算对应题型所获得的经验值.
public static int isNum(String str){
String str1="";
for(int i=0;i<str.length();i++){
char chr=str.charAt(i);
if(chr>=48 && chr<=57) str1+=chr;
}
int a=Integer.parseInt(str1);
return a;
}