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

博客班级 https://edu.cnblogs.com/campus/fzzcxy/2018SE2/
作业要求 https://edu.cnblogs.com/campus/fzzcxy/2018SE2/homework/11169
作业目标 学会git的基本使用,本地仓库与码云仓库传输文件,学会使用jsoup对指定网页进行数据爬虫并统计
作业源代码 https://gitee.com/naibius/personal/
学号 211806362

一、完成统计

​ 代码一共102行,总耗时共7小时,其中需求分析时间1小时,编码时间6小时。

二、步骤分析

  1. 首先,对读取已创建的配置文件中的数据:

    Properties p =new Properties();
    p.load(new FileInputStream("total.properties"));
    double Pbefore/Pbase/Ptest/Pprogram/Padd = Double.parseDouble(p.getProperty("before"));
    
  2. 接着,对指定网页提取数据,经借鉴同学代码和网络搜索后发现可以通过jsoup对html进行解析:

    Document document1 = Jsoup.parse(new File("src/small.html"), "utf-8");
    Document document2 = Jsoup.parse(new File("src/all.html"), "utf-8");
    
  3. 之后通过对需要的数据进行筛选提取,并计算出总成绩。

  4. 最后通过git传送给码云仓库。

  5. 这样分解后使思路更加清晰,提高效率。

三、学习记录、修改优化

  1. 首先思考如何将html代码解析出来,通过借鉴同学代码和网站查询,发现可以通过安装jsoup包来对html文件进行解析。

    Document document1 = Jsoup.parse(new File("src/small.html"), "utf-8");
    Document document2 = Jsoup.parse(new File("src/all.html"), "utf-8");```
    
  2. 之后对云班课上的活动网页进行检查,发现要查询的文件类名均为:"interaction-row",因此使用选择器进行筛选 。

    Elements small = document1.getElementsByAttributeValue("class", "interaction-row");
    Elements all = document2.getElementsByAttributeValue("class", "interaction-row");
    

    通过循环判断,改变条件来获取数据。 循环:for (int i = 0; i < small.size(); i++)
    判断:

    if (small.get(i).child(1).child(0).toString().contains("条件")) {
    if (small.get(i).child(1).child(2).toString().contains("条件"))}
    

    获取数据:

    Scanner scanner1 = new Scanner(small.get(i).child(1).child(2).children().get(0).children().get(7).text());
    temp = scanner1.nextInt();
    Hbefore = Hbefore + temp;
    scanner1.close();
    
  3. 计算总成绩打印输出

    double Fbefore = Hbefore/Pbefore*0.25*100;
    double Fbase = Hbase/Pbase*0.3*0.95*100;
    double Ftest = Htest/Ptest*0.2*100;
    Pprogram=95;
    double Fprogram = Hprogram/Pprogram*0.1*100;
    Padd=90;
    double Fadd = Hadd/Padd*0.05*100;
    double total=Fbefore+Fbase+Ftest+Fprogram+Fadd;
    System.out.println(String.format("%.2f",total));
    
  4. 上传到码云仓库

    首先使用git init将所需目录初始化为Git代码库,

    之后通过git add 文件名来上传需要上传的文件

    接着使用git commit -m"注释的内容"来提交到本地仓库并备注

    然后将文件提交到giteegit remote add origin 远程项目的Https地址

    最后使用git push将代码推送到远程仓库。

四、参考资料

https://blog.csdn.net/cuishouming/article/details/81164410

https://blog.csdn.net/webnum/article/details/94737559

https://blog.csdn.net/sclibingqing/article/details/81179470

https://blog.csdn.net/J080624/article/details/79106782?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-7.edu_weight&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-7.edu_weight

posted @ 2020-09-14 15:14  naibius  阅读(139)  评论(1编辑  收藏  举报