首页 > 技术文章 > 第一次编程作业

Ronchi-Zhang 2020-09-10 20:16 原文

这个作业属于哪个课程 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;
		}

6.读取配置文件并根据题意进行相应的计算(略).

遇到问题

1.一些地方可能有更好的解决办法,例如isNum()函数通过挨个遍历字符串中字符获取数字等.

2.花的时间太多,git还没有熟悉使用.

3.通过颖鹏同学的建议给代码加入了try catch.

新知识

1.认识和学习了Jsoup文档,用于HTML的解析,取数等.

2.学到eclipse如何导入库

其他参考网站

在Java代码中解析html,获取其中的值方法(这个网站对于我如何定位class以及span标签有很大的帮助)
Jsoup帮助文档(提到Jsoup肯定不能脱离它的帮助文档)
Eclipse导入jsoup

想法

没有想到自己能完成这个项目。基础较薄弱,上学期网课有的没有好好学,代码程度感觉也就保留在大一下与大二上的程度。写完后有看其他人完成的代码,跟自己的代码比更有深度。代码比较简单,感觉能适合大多数基础弱的同学。(PS:希望能尽快把上半年网课落下的补回来).我觉得我的代码比较好的就是可以通过遍历每个class里的span标签在Eclipse上排列好在上面找规律,不用再回html中看标签的规律

推荐阅读