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

博客班级 https://edu.cnblogs.com/campus/fzzcxy/2018SE1
作业要求 https://edu.cnblogs.com/campus/fzzcxy/2018SE1/homework/11110
作业目标 自己选择一种擅长的或者感兴趣的语言来编写代码达到后台通过解析html文件内容运算分数
作业源代码 https://gitee.com/zhao-xiangmin/personal/tree/master/
学号 211803240

此次共编写了229行代码,分析时间8小时,编码时间2天。

第一步分析题目


  • 这一部分相当于计算各个部分所占的比例,课堂完成部分分数算出后要乘30%、课堂小测算出后要乘20%、课堂自测*25%、编程题算出后要乘10% 、附加题算出后要乘5%
    1. 但题目不是直接给各个部分的分数,而是给经验值,
    2. 不同的部分乘以不同的百分比,例如:

课堂完成部分是个人获得的经验值总分 / 应得经验值总分 * 95
课堂小测是个人获得的经验值总分 / 应得经验值总分 * 100
课堂自测是个人获得的经验值总分 / 应得经验值总分 * 100
编程题是个人获得的经验值总分 / 应得经验值总分 * 100(最高分为95)
附加题是个人获得的经验值总分 / 应得经验值总分 * 100(最高分为90)

第二步依据题意分析代码大体结构

(本人对Java掌握薄弱,但是想要尝试一下,所以还是选择了用Java编程)

首先需要一个主方法main进行统合,构造哈希表将total.properties中的key和value一一对应,并写入名为totalScore的哈希表中

开始先加载已经写好的total.properties文件

再初始化自己经验值(成绩)的哈希表iScore用initIScore(String, String)方法输入本地已经下载好的大小云班课活动网页文件的地址,接着输出结果,并在syso中调用calFinalScore方法。

设置静态double方法calFinalScore(Map<String, Double> totalScore, Map<String, Double> iScore)

这个方法是在经验值换算成分数后各个部分计算乘以不同百分比后的分数,再设置变量double finalScore计算总分,并返回finalScore的值。

设置静态Map<String, Double>类型的initIScore(String, String)方法

两个string第一个small.html的本地位置,第二个是all.html的本地位置

先对于iScore哈希表设定各个部分的初始值,再用Document读取small和all的html文件,再用elements获取small和all中的所有活动代码,通过chrome的F12开发者功能观察两个html文件的每个节点与子节点,找到经验值都在<span style="color:#EC6941;">0 经验</span>
用Scanner将经验值输入进哈希表内与对应的key值连接起来,并返回哈希表iScore

设置静态Map<String, Double>类型的getTotalScore(String, String)方法

将之前的total.properties文件中的value分别转换为double类型的值再度存入对应的key位中并返回哈希表totalScore

这样拆分代码有个好处就是条理清楚

不会的知识的学习过程以及出错问题的解决方法

1. Java 读取 .properties 配置文件的几种方式 [1]

2. 如何在项目中新建.gitignore文件 [2]

3. Github上如何添加 LICENSE 文件? [3]

4. 在Java代码中解析html,获得其中的值 [4]

  • 在这里原本是想要用这个来对代码进行优化,但是失败了,后续会在时间许可的情况下自己研究用这个方法如何优化
    	Scanner reader=new Scanner(rows.get(0).text());
    	double score=reader.nextDouble();
    	System.out.println(score);
    	iScore.put("base", iScore.get("base") + reader.nextDouble());

5. Git 怎么创建本地库,向本地库提交文件 [5] [6] [7] [8]

6. git clone时认证失败后不能重新输入的解决方案 [9]

7. git clone之后本地文件在哪里

  • 就保存在你命令行现在所在的目录里。 所以你先用cd这个命令去你想保存的目录以后再git clone

8. 如何把本地代码推送到远程仓库 [10] [11] [12]

9. git push 失败出现error: src refspec master does not match any.解决方案 [13]

10. git bash运行Score.class报错

出错原因:没把jsoup包放进系统的环境变量classpath里面
方法:找到我的电脑右击属性后(注意:要先打个分号再复制jsoup包的路径进变量内)

参考资料


  1. https://www.cnblogs.com/sebastian-tyd/p/7895182.html ↩︎

  2. https://www.cnblogs.com/sanhao/p/9988028.html ↩︎

  3. https://www.cnblogs.com/chenmingjun/p/8555906.html ↩︎

  4. https://blog.csdn.net/zhanglei500038/article/details/74858395 ↩︎

  5. https://blog.csdn.net/baimo7074/article/details/101087326 ↩︎

  6. https://blog.csdn.net/ezhchai/article/details/79387214 ↩︎

  7. https://zhidao.baidu.com/question/1050676019855841379.html ↩︎

  8. https://blog.csdn.net/sinat_31848459/article/details/80566605 ↩︎

  9. https://blog.csdn.net/qq_38329811/article/details/106323000 ↩︎

  10. https://blog.csdn.net/Nemo_txx/article/details/84843858 ↩︎

  11. https://blog.csdn.net/beastarter/article/details/88012946 ↩︎

  12. https://blog.csdn.net/qq_32403063/article/details/88643532 ↩︎

  13. https://blog.csdn.net/wangwangwanglichao/article/details/79983262 ↩︎

posted @ 2020-09-10 21:42  陌语mo  阅读(351)  评论(2编辑  收藏  举报