excel 瀵煎叆mysql,src/czy/Score.java · 陈志杨/personal - Gitee.com-程序员宅基地

技术标签: excel 瀵煎叆mysql  

package czy;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

import org.jsoup.*;

import org.jsoup.nodes.*;

import org.jsoup.select.Elements;

import java.io.File;

import java.io.FileInputStream;

import java.io.IOException;

import java.util.Properties;

public class Score {

public static void main(String[] args) throws IOException {

<<<<<<< HEAD

// 瀵煎叆鎬诲垎鐨勯厤缃枃浠

=======

// 导入总分的配置文件

>>>>>>> 3a5242b... personal

Properties total = new Properties();

total.load(new FileInputStream("total.properties"));

System.out.println("aaa");

<<<<<<< HEAD

// 瀵煎叆澶у皬鐝璧勬簮

=======

// 导入大小班课资源

>>>>>>> 3a5242b... personal

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");

<<<<<<< HEAD

// 璇惧爞瀹屾垚閮ㄥ垎鍒嗘暟璁$畻

String totalBase = total.getProperty("base");

double baseScore = 0;

// 璇诲彇鍐呭

baseScore += getScore("璇惧爞瀹屾垚",docSmall.select(".interaction-row"));

// 璇惧爞灏忔祴閮ㄥ垎鍒嗘暟璁$畻

String totalTest = total.getProperty("test");

double testScore = 0;

// 璇诲彇鍐呭

testScore += getScore("璇惧爞灏忔祴",docAll.select(".interaction-row"));

// 璇惧墠鑷祴閮ㄥ垎鍒嗘暟璁$畻

String totalBefore = total.getProperty("before");

double beforeScore = 0;

// 璇诲彇鍐呭

beforeScore += getScore("璇惧墠鑷祴",docAll.select(".interaction-row"));

beforeScore += getScore("璇惧墠鑷祴",docSmall.select(".interaction-row"));

// 缂栫▼棰橀儴鍒嗗垎鏁拌绠

String totalProgram = total.getProperty("program");

double programScore = 0;

// 璇诲彇鍐呭

programScore += getScore("缂栫▼棰",docSmall.select(".interaction-row"));

// 闄勫姞棰橀儴鍒嗗垎鏁拌绠

String totalAdd = total.getProperty("add");

double addScore = 0;

// 璇诲彇鍐呭

addScore += getScore("闄勫姞棰",docSmall.select(".interaction-row"));

// 鏈缁堢殑鍚勯」寰楀垎

=======

// 课堂完成部分分数计算

String totalBase = total.getProperty("base");

double baseScore = 0;

// 读取内容

baseScore += getScore("课堂完成",docSmall.select(".interaction-row"));

// 课堂小测部分分数计算

String totalTest = total.getProperty("test");

double testScore = 0;

// 读取内容

testScore += getScore("课堂小测",docAll.select(".interaction-row"));

// 课前自测部分分数计算

String totalBefore = total.getProperty("before");

double beforeScore = 0;

// 读取内容

beforeScore += getScore("课前自测",docAll.select(".interaction-row"));

beforeScore += getScore("课前自测",docSmall.select(".interaction-row"));

// 编程题部分分数计算

String totalProgram = total.getProperty("program");

double programScore = 0;

// 读取内容

programScore += getScore("编程题",docSmall.select(".interaction-row"));

// 附加题部分分数计算

String totalAdd = total.getProperty("add");

double addScore = 0;

// 读取内容

addScore += getScore("附加题",docSmall.select(".interaction-row"));

// 最终的各项得分

>>>>>>> 3a5242b... personal

double sumBase = (baseScore / Integer.parseInt(totalBase)) * 100 * 0.95;

double sumTest = (testScore / Integer.parseInt(totalTest)) * 100;

double sumBefore = (beforeScore / Integer.parseInt(totalBefore)) * 100;

double sumProgram = (programScore / Integer.parseInt(totalProgram)) * 95;

double sumAdd = (addScore / Integer.parseInt(totalAdd)) * 90;

double sum = sumBase * 0.3 + sumTest * 0.2 + sumBefore * 0.25 + sumProgram * 0.1 + sumAdd * 0.05;

System.out.println(sum);

}

static int getScore(String item,Elements baseDoc) {

int Score = 0;

for (int i = 0; i < baseDoc.size(); i++) {

if (baseDoc.get(i).text().toString().contains(item)) {

<<<<<<< HEAD

// 闈炵孩鑹查儴鍒嗘墠鏈夊垎鏁

if (!baseDoc.get(i).toString().contains("#EC6941")) {

// 寰楀埌 鈥渪x 缁忛獙鈥濋儴鍒

String pattern = "\\w* 缁忛獙";

Pattern r = Pattern.compile(pattern);

Matcher m = r.matcher(baseDoc.get(i).text().toString());

while (m.find()) {

int sc = Integer.parseInt(m.group().replaceAll(" ", "").replaceAll("缁忛獙", "").toString());

=======

// 非红色部分才有分数

if (!baseDoc.get(i).toString().contains("#EC6941")) {

// 得到 “xx 经验”部分

String pattern = "\\w* 经验";

Pattern r = Pattern.compile(pattern);

Matcher m = r.matcher(baseDoc.get(i).text().toString());

while (m.find()) {

int sc = Integer.parseInt(m.group().replaceAll(" ", "").replaceAll("经验", "").toString());

>>>>>>> 3a5242b... personal

return Score += sc;

}

}

}

}

return 0;

}

<<<<<<< HEAD

}

=======

}

>>>>>>> 3a5242b... personal

一键复制

编辑

Web IDE

原始数据

按行查看

历史

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30533109/article/details/115963388

智能推荐

dataframe添加一行,并自定义行索引名_dataframe添加一行数据不改变索引-程序员宅基地

文章浏览阅读4.3k次。添加一行为列求和_dataframe添加一行数据不改变索引

黑妹的游戏-程序员宅基地

文章浏览阅读86次。#include <iostream>#include <algorithm>#include <cstdlib>#include <cstring>#include <cstdio>#include <cmath>#include <string>#include <queue>#include <stack>#include <map>#include <se

C++ cin的成员函数及其常见用法-程序员宅基地

文章浏览阅读3.6k次,点赞8次,收藏35次。目录一.cin的常见读取方法Ⅰ.cin>>Ⅱ.cin.get()Ⅲ.cin.getline()二.从标准输入读取一行字符串的其它方法Ⅰ.getline()Ⅱ.gets()一.cin的常见读取方法Ⅰ.cin>>cin 可以连续从键盘读取想要的数据,以空格、tab 或换行作为分隔符。当 cin>> 从缓冲区中读取数据时,若缓冲区中第一个字符是空格、tab或..._cin的成员函数

当数据加载完停止ion-infinite-scroll_数据不够时如何停止v-infinite-scroll-程序员宅基地

文章浏览阅读3.9k次。html代码:ion-infinite-scroll on-infinite="appendBike()" distance="1%" immediate-check="false" ng-if="moreDataCanBeLoaded()">ion-infinite-scroll>js代码:apendBike:/** * @动态加载函数 */function _数据不够时如何停止v-infinite-scroll

python获取字符串真实长度实际长度 字符串宽度_python如何获取字号的长和宽-程序员宅基地

文章浏览阅读1.1k次。str2 = '1234567890'str3 = '你好啊我是'len(str2.encode('gbk'))len(str3.encode('gbk'))> 10> 10差不多了。_python如何获取字号的长和宽

ios开发 -Alcatraz第三方工具-快速管理Xcode中的代码(快速注释,对齐)_xcode 注释对齐-程序员宅基地

文章浏览阅读712次。网上有一些安装Alcatraz的命令行 执行以后都没有效果,去了它在github主页上拷贝了下面两个代码。这两天试着使用Xcode的 一些插件管理工具,自己记录一下。用的是Alcatraz,这个是github上的一个开源项目,用来管理Xcode上的插件。有搜索功能,界面也很人性化。在终端上输入如下命令即可完成安装:curl -fsSL https://raw_xcode 注释对齐

随便推点

neo4j查询语句-程序员宅基地

文章浏览阅读5.5k次。1、查询所有节点及关系: MATCH (n)returnn2、查询指定类型节点: MATCH(h:Helo),(m:Mailfrom)returnh,mn,h,m都是随意的,可以理解为变量_neo4j查询语句

git推代码报错"You do not have permission to push to the repository via HTTPS"_you do not have permission to push to 'enterprise_-程序员宅基地

文章浏览阅读3.8w次。git推代码报错&amp;quot;you do not have permission to push to the repository via HTTPS&amp;quot;问题描述:使用git提交代码时报错,如图下:意思是: 通过https推代码没有权限解决办法:情况一: 有可能是没有推代码的权限解决方法: 你可以git pull 拉取一下代码,如果能拉取,不能推就是权限问题,请找公司其他人帮你开通权限..._you do not have permission to push to 'enterprise__asm1/ams' via ssh

基于RK3399Pro平台的深度学习入门课程(一)概述+闲聊_rk3399 rk3399pro-程序员宅基地

文章浏览阅读3.2k次,点赞6次,收藏18次。一、概述大家好,很高兴能跟大家一起分享深度学习的课程,本课程基于RK3399ProD的人工智能开发板,简单介绍深度学习领域的相关内容,在后面的课程会加入实际项目的内容,以常见的实际项目为例,更能让初学者或企业直接入手,同时缩短产品的研发周期。分享这个课程内容,也是能够让我们对AI领域的研究更接地气,不过因为也是第一次写这样的课程,如果有缺陷,也请各位大佬们不吝支持一下,谢谢!开发板采用了高..._rk3399 rk3399pro

Java面向对象【JDBC和数据库连接池】_java面向对象编程 连接数据库-程序员宅基地

文章浏览阅读590次,点赞5次,收藏5次。Java数据库管理JDBC和数据库连接池的介绍与使用【内含jar与配置文件】_java面向对象编程 连接数据库

python从控制台输入多行数据_sys.stdin函数 读取多行-程序员宅基地

文章浏览阅读3.6k次。(1) sys.stdinpython 中sys.stdin可以实现标准输入,输入默认为字符串格式,可以通过int(),float()进行强制转换。在输入一行数据时,会将数据末尾的“\n”获取到,因此在处理sys.stdin输入的数据时,应该首先用strip()处理掉数据末尾的换行符。sys.stdin.readline()表示输入一行数据。用sys.stdin输入多行数据代码如下:imp..._sys.stdin函数 读取多行

微信小程序开发之——调查问卷-案例分析(2.2.1)_问卷原型图-程序员宅基地

文章浏览阅读3k次,点赞2次,收藏11次。一 概述本节通过开发一个“调查问卷”的案例来学习常用表单组件的使用,以及如何收集用户填写的表单信息提交给服务器,或者从服务器获取数据后显示在表单中二 原型图2.1 原型图2.2 原型图说明上图中,有单行文本框、单选框、复选框、文本域,以及一个提交按钮。用户单击“提交”按钮后,会将表单中填写的值提交给服务器。..._问卷原型图