代码拉取完成,页面将自动刷新
package 第一次个人编程作业;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;
import java.util.Scanner;
import org.jsoup.Jsoup;
import org.jsoup.select.Elements;
public class Score {
public static void main(String[] args) throws IOException {
// 利用 jsoup 解析网页文件
File smallHtml = new File("src\\small.html");
// Document smallSource = Jsoup.parse(smallHtml, "UFT-8", "");
File allHtml = new File("src\\all.html");
// Document allSource = Jsoup.parse(allHtml, "UFT-8", "");
// 导入配置文件
Properties p = new Properties();
p.load(new FileInputStream("src\\total.properties"));
// 获取配置文件的键值
double before = Double.parseDouble(p.getProperty("before"));
double base = Double.parseDouble(p.getProperty("base"));
double test = Double.parseDouble(p.getProperty("test"));
double program = Double.parseDouble(p.getProperty("program"));
double add = Double.parseDouble(p.getProperty("add"));
// 计算获得的总分
zongFen(smallHtml, allHtml, before, base, test, program, add);
}
public static void zongFen(File small_File, File all_File, double before, double base, double test, double program,
double add) {
double myBefore, myBase, myTest, myProgram, myAdd;
myBefore = myBase = myTest = myProgram = myAdd = 0;
try {
org.jsoup.nodes.Document smallSource = Jsoup.parse(small_File, "UTF-8");
org.jsoup.nodes.Document allSource = Jsoup.parse(all_File, "UTF-8");
// 对small.html的相对应的经验累积
if (smallSource != null) {
Elements small = smallSource.getElementsByClass("interaction-row");
for (int i = 0; i < small.size(); i++) {
if (small.get(i).toString().contains("课前自测") && small.get(i).toString().contains("已参与 ")) {
Elements span = small.get(i).getElementsByTag("span");
for (int j = 0; j < span.size(); j++) {
if (span.get(j).text().contains("经验")) {
Scanner sc = new Scanner(span.get(j).text());
myBefore = myBefore + sc.nextDouble();
break;
}
}
}
if (small.get(i).toString().contains("课堂完成") && small.get(i).toString().contains("已参与 ")) {
Elements span = small.get(i).getElementsByTag("span");
for (int j = 0; j < span.size(); j++) {
if (span.get(j).text().contains("经验")) {
Scanner sc = new Scanner(span.get(j).text());
myBase = myBase + sc.nextDouble();
break;
}
}
}
if (small.get(i).toString().contains("课堂小测") && small.get(i).toString().contains("已参与 ")) {
Elements span = small.get(i).getElementsByTag("span");
for (int j = 0; j < span.size(); j++) {
if (span.get(j).text().contains("经验")) {
Scanner sc = new Scanner(span.get(j).text());
myTest = myTest + sc.nextDouble();
break;
}
}
}
if (small.get(i).toString().contains("编程题") && small.get(i).toString().contains("已参与 ")) {
Elements span = small.get(i).getElementsByTag("span");
for (int j = 0; j < span.size(); j++) {
if (span.get(j).text().contains("经验")) {
Scanner sc = new Scanner(span.get(j).text());
myProgram = myProgram + sc.nextDouble();
break;
}
}
}
if (small.get(i).toString().contains("附加题") && small.get(i).toString().contains("已参与 ")) {
Elements span = small.get(i).getElementsByTag("span");
for (int j = 0; j < span.size(); j++) {
if (span.get(j).text().contains("经验")) {
Scanner sc = new Scanner(span.get(j).text());
myAdd = myAdd + sc.nextDouble();
break;
}
}
}
}
}
// 对all.html的相对应的经验累积
if (allSource != null) {
Elements all = allSource.getElementsByClass("interaction-row");
for (int i = 0; i < all.size(); i++) {
if (all.get(i).toString().contains("课前自测") && all.get(i).toString().contains("已参与 ")) {
Elements span = all.get(i).getElementsByTag("span");
for (int j = 0; j < span.size(); j++) {
if (span.get(j).text().contains("经验")) {
Scanner sc = new Scanner(span.get(j).text());
myBefore = myBefore + sc.nextDouble();
break;
}
}
}
}
}
// 计算所得分数
double finalBefore = myBefore / before * 100 * 0.25;
double finalBase = myBase / base * 100 * 0.3 * 0.95;
double finalTest = myTest / test * 100 * 0.2;
program = 95;
double finalProgram = myProgram / program * 100 * 0.1;
add = 90;
double finalAdd = myAdd / add * 100 * 0.05;
double finalScore = (finalBefore + finalBase + finalTest + finalProgram + finalAdd) * 0.9 + 6;
System.out.println(String.format("%.5s", finalScore));
} catch (IOException e) {
System.out.println("解析出错!");
e.printStackTrace();
}
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。