第一次编程作业(我的分数)

1.| 博客班级 | https://edu.cnblogs.com/campus/fzzcxy/2018SE2/homework/11169 |
| ---------- | -------------------------------------- |
| 作业要求 | https://edu.cnblogs.com/campus/fzzcxy/2018SE2/homework/1116 |
| 作业目标 | <计算我的分数> |
| 作业源代码 | https://gitee.com/wang-langlang/projects |
| 学号 | <211806343> |

116行代码

预计 实际
分析 30 50
编程 120 160
git 20 30
博客 30 40

思路分析

  1. 首先云班课经验数据的获取。

    • 本次要求用JAVA进行命令行小工具的编程,所以上网查询找到了JAVA的网页解析插件jsoup。
      jsoup的使用:在导入jsoup包后,通过代码:
    File small = new File("small.html");
    Document docSmall = Jsoup.parse(small, "UTF-8");
    File all = new File("all.html");
    Document docAll = Jsoup.parse(all, "UTF-8");
    (应题目要求将命名为small的小班课活动网页界面和all的大班课活动网页界面的网页源代码存在docSmall和docAll中)
    • 将整个网页源码导入后,我们还需要获取相应位置的数据。
      前端学习过的同学都知道,html是由许多标签组成的,而我们要过去具体信息就要找到它是属于哪个标签下的哪里。
  2. Score类中进行分数的计算。

    • 分数的计算并非简单得一个SUM=。
      在获取云班课经验时我就发现了,存在红色经验和绿色经验的区别。(红色经验并非有效经验)

        // 课堂完成部分分数计算
        String totalBase = total.getProperty("base");
          	double baseScore = 0;
          	// 读取内容
          	Elements baseDoc = docSmall.select(".interaction-row");
          	for (int i = 0; i < baseDoc.size(); i++) {
              	if (baseDoc.get(i).text().toString().contains("课堂完成部分")) {
      	// 非红色部分才有分数
      	if (!baseDoc.get(i).toString().contains("#EC6941")) {
      		String pattern = "\\w* 经验";//正则运算
      		Pattern p = Pattern.compile(pattern);
      //					输入序列与该模式匹配。
      	            	Matcher m = p.matcher(baseDoc.get(i).text().toString());
                        		while (m.find()) {
      	            		int s = Integer.parseInt(m.group().replaceAll(" ", "").replaceAll("经验",                   "").toString());
      			baseScore += s;
      		      }
      	            }
                    	}
      		      }
      

以课堂完成部分代码为例,对自己获取的有效经验进行统计。

  • 最后经验通过老师给的公式转换成分数。
  1. git上传源码到远程仓库(git的personal远程仓库要先建立)
    不会的知识的学习过程
    • 由于之前重装过系统,这次用JAVA编程的时候,已经忘记了eclipse的环境变量设置,然而在上网查找并设置好后发现eclipse还是无法打开,
      并给出的提示还是jdk安装环境的问题。折磨了20多分钟后,也不知道是啥原因竟然能够打开了。
    • jsoup的使用是我完全没有接触过的,如何使用jsoup将网页源码导入是本次掌握的重要内容。
    • 使用git使本地仓库链接远程仓库,并传输文件。(在大佬的帮助下,勉强理解git命令)
    • markdowm编辑器的使用,(真心爱了,太喜欢md文档的阅读了)
      资料网
    • 在这推荐一个大佬在博客写的Git命令的使用 https://www.cnblogs.com/liuhongyu27/p/13655254.html
posted @ 2020-09-13 21:51  王浪浪  阅读(246)  评论(1编辑  收藏  举报