diff --git a/pom.xml b/pom.xml
index 6adf1da..e7cd909 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,23 +4,27 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
- org.example
- StudentManagerS
- 1.0-SNAPSHOT
+ me.lensfrex.smanager-s
+ SManager-S
+ 0.0.1p
8
8
-
-
-
- org.xerial
- sqlite-jdbc
- 3.36.0.3
-
-
-
-
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ 2.4
+
+
+ me.lensfrex.manager.Main
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/me/lensfrex/manager/Main.java b/src/main/java/me/lensfrex/manager/Main.java
index c8bb087..4417b31 100644
--- a/src/main/java/me/lensfrex/manager/Main.java
+++ b/src/main/java/me/lensfrex/manager/Main.java
@@ -14,10 +14,7 @@ public class Main {
private void run() {
while (parseCommand(consoleTool.getUserInput()) != -1) {
- System.out.println(
- "----------------------------------------------------------------\n" +
- " Please enter your choice:"
- );
+ System.out.print("----------------------------------------------------------------\n" + " Please enter your choice:\n--> ");
}
}
@@ -94,7 +91,7 @@ public class Main {
worker.printCnHelp();
break;
default:
- System.out.println("- Don't recognize... Please enter again. (Enter 12 to show help again)");
+ System.out.println("Don't recognize... Please enter again. (Enter 12 to show help again)");
break;
}
return 0;
diff --git a/src/main/java/me/lensfrex/manager/Worker.java b/src/main/java/me/lensfrex/manager/Worker.java
index 2711686..93367b4 100644
--- a/src/main/java/me/lensfrex/manager/Worker.java
+++ b/src/main/java/me/lensfrex/manager/Worker.java
@@ -1,6 +1,5 @@
package me.lensfrex.manager;
-import me.lensfrex.manager.Main;
import me.lensfrex.manager.data.Student;
import me.lensfrex.manager.data.manager.StudentManager;
import me.lensfrex.manager.utils.IOUtil;
@@ -10,9 +9,9 @@ import java.util.ArrayList;
public class Worker {
- public static final String helpMessage = IOUtil.inputStreamToString(Main.class.getResourceAsStream("/me.lensfrex.manager/helpMessage.txt"), StandardCharsets.UTF_8);
- public static final String cnHelpMessage = IOUtil.inputStreamToString(Main.class.getResourceAsStream("/me.lensfrex.manager/cnHelpMessage.txt"), StandardCharsets.UTF_8);
- public static final String studentInformationExample = IOUtil.inputStreamToString(Main.class.getResourceAsStream("/me.lensfrex.manager/studentInformationExample.txt"), StandardCharsets.UTF_8);
+ public static final String helpMessage = IOUtil.inputStreamToString(Main.class.getResourceAsStream("/me/lensfrex/manager/helpMessage.txt"), StandardCharsets.UTF_8);
+ public static final String cnHelpMessage = IOUtil.inputStreamToString(Main.class.getResourceAsStream("/me/lensfrex/manager/cnHelpMessage.txt"), StandardCharsets.UTF_8);
+ public static final String studentInformationExample = IOUtil.inputStreamToString(Main.class.getResourceAsStream("/me/lensfrex/manager/studentInformationExample.txt"), StandardCharsets.UTF_8);
private final StudentManager studentManager = new StudentManager();
diff --git a/src/main/java/me/lensfrex/manager/data/manager/StudentManager.java b/src/main/java/me/lensfrex/manager/data/manager/StudentManager.java
index 17763f4..d9ff7af 100644
--- a/src/main/java/me/lensfrex/manager/data/manager/StudentManager.java
+++ b/src/main/java/me/lensfrex/manager/data/manager/StudentManager.java
@@ -22,7 +22,7 @@ public class StudentManager {
/**
* 增添学生。输入的字符串格式应为 [id] [name] ...[subjectName,score]
- * 如: 23333333 Lag English,100 Math,99 History,98
+ * 如: 2333 LagSeeing English,100 Math,99 History,98
*
* @param input 待添加的学生信息
*/
@@ -152,7 +152,7 @@ public class StudentManager {
/**
* 按学生总分由高到低生成名次表
*
- * @return 名次表字符串
+ * @return 按顺序记录的名次表ArrayList
*/
public ArrayList generateRankingTable() {
ArrayList rankingTable = new ArrayList<>();
@@ -174,7 +174,7 @@ public class StudentManager {
/**
* 按学生学号由小到大生成成绩表
*
- * @return 成绩表字符串
+ * @return 按学号顺序记录的成绩表ArrayList
*/
public ArrayList generateScoreTableById() {
ArrayList scoreTable = new ArrayList<>();
@@ -188,9 +188,9 @@ public class StudentManager {
}
/**
- * 按学生学号由小到大生成成绩表
+ * 按学生姓名由小到大生成成绩表
*
- * @return 成绩表字符串
+ * @return 按姓名顺序记录的成绩表ArrayList
*/
public ArrayList generateScoreTableByName() {
ArrayList scoreTable = new ArrayList<>();
@@ -207,7 +207,7 @@ public class StudentManager {
* 获取学生信息条目
*
* @param student 欲获取学生
- * @return 学生信息
+ * @return 学生信息字符串
*/
public String getStudentInfo(Student student) {
StringBuilder stringBuilder = new StringBuilder();
@@ -241,7 +241,7 @@ public class StudentManager {
/**
* 列出所有科目的成绩信息,包括总分、平均分
*
- * @return 信息字符串
+ * @return 含有科目成绩信息记录的ArrayList
*/
public ArrayList generateAllSubjectInfo() {
ArrayList subjects = this.getSubjects();
@@ -317,23 +317,23 @@ public class StudentManager {
* 获取某科目成绩分析HashMap
*
* @param subject 欲分析的科目
- * @return 成绩等级人数
+ * @return 成绩等级人数数组(长度为5,对应ABCDE五个等级)
*/
private int[] getSubjectAnalysis(String subject) {
ArrayList scores = new ArrayList<>(managerTool.getSubjectScores(subject).values());
- int[] scoreAnalysis = new int[5];
+ int[] scoreLevelStudentNumber = new int[5];
for (int score : scores) {
- scoreAnalysis[getScoreLevel(score)]++;
+ scoreLevelStudentNumber[getScoreLevel(score)]++;
}
- return scoreAnalysis;
+ return scoreLevelStudentNumber;
}
/**
* 获取所有成绩分析HashMap
*
- * @return 成绩等级人数
+ * @return 包含有成绩等级人数的HashMap,key为科目名称,value为层次人数数组
*/
public HashMap getAllSubjectAnalysis() {
ArrayList subjects = managerTool.getAllSubjects();
diff --git a/src/main/java/me/lensfrex/manager/sqlite/DataTypes.java b/src/main/java/me/lensfrex/manager/sqlite/DataTypes.java
deleted file mode 100644
index e0730d6..0000000
--- a/src/main/java/me/lensfrex/manager/sqlite/DataTypes.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package me.lensfrex.manager.sqlite;
-
-public class DataTypes {
- public static final String SQL_DATA_TYPE_NUMBER = "int";
- public static final String SQL_DATA_TYPE_TEXT = "text";
- public static final String SQL_DATA_TYPE_REAL = "real";
- public static final String SQL_DATA_TYPE_NULL = "null";
-}
diff --git a/src/main/java/me/lensfrex/manager/sqlite/SQLiteTool.java b/src/main/java/me/lensfrex/manager/sqlite/SQLiteTool.java
deleted file mode 100644
index c4e1df0..0000000
--- a/src/main/java/me/lensfrex/manager/sqlite/SQLiteTool.java
+++ /dev/null
@@ -1,99 +0,0 @@
-package me.lensfrex.manager.sqlite;
-
-import java.sql.Connection;
-import java.sql.DriverManager;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * SQL操作的简单封装...
- * 试图手动封装SQL操作...
- * 有BUG?这就对了
- * SQL语句仍在学习中...
- * SQL语句拼接怎么这么麻烦...
- */
-public class SQLiteTool {
- private static final String DATABASE_LOCATION = "student.db";
-
- private Connection dbConnection;
- private Statement statement;
-
- /**
- * 初始化数据库文件,若成功则返回true,若数据库初始化出现异常则返回false。
- * 不保证数据库中存在欲操作的表,需手动确认。
- *
- * @return 初始化是否成功,若成功则返回true,若数据库初始化出现异常则返回false。
- */
- public boolean initDatabase() {
- try {
- Class.forName("org.sqlite.JDBC");
- this.dbConnection = DriverManager.getConnection("jdbc:sqlite:" + DATABASE_LOCATION);
- this.statement = dbConnection.createStatement();
-
- return true;
- } catch (Exception e) {
- System.out.println("Some errors happens when initialing database.");
- e.printStackTrace();
- return false;
- }
- }
-
- /**
- * 向数据库中创建一个表。
- *
- * @param tableName 数据库表的名称
- * @param columns 数据库表列的参数,map中key为列的名称,value为其相应的数据类型。
- * @throws SQLException 如果创建表的过程中发生错误
- */
- public void createTable(String tableName, HashMap columns) throws SQLException {
- StringBuilder stringBuilder = new StringBuilder("create table %s (");
-
- for (Map.Entry column : columns.entrySet()) {
- stringBuilder.append(String.format("%s %s, ", column.getKey(), column.getValue()));
- }
-
- String createStatement = stringBuilder
- .replace(stringBuilder.lastIndexOf(","), stringBuilder.lastIndexOf(",") + 2, ")")
- .toString();
-
- statement.executeUpdate(createStatement);
- }
-
- /**
- * 查询表格是否存在。
- *
- * @param tableName 表格名
- * @return 存在,返回true,否则返回false;
- */
- public boolean isTableExists(String tableName) {
- String tryStatement = String.format("select * from %s", tableName);
- try {
- statement.executeQuery(tryStatement);
- return true;
- } catch (Exception e) {
- return false;
- }
- }
-
- /**
- * 向数据库里插入一条记录。
- *
- * @param table 表格名
- * @param values 每一列的数据值,文本类型数据应使用单引号 ' 括住
- * @throws SQLException 如果执行的过程中发生错误
- */
- public void insert(String table, String... values) throws SQLException {
- StringBuilder stringBuilder = new StringBuilder();
- stringBuilder.append("insert into ").append(table).append(" values ( ");
- for (String value : values) {
- stringBuilder.append(value).append(' ');
- }
- stringBuilder.append(")");
-
- statement.executeUpdate(stringBuilder.toString());
- }
-
-}
diff --git a/src/main/resources/META-INF/MANIFEST.MF b/src/main/resources/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..5139e45
--- /dev/null
+++ b/src/main/resources/META-INF/MANIFEST.MF
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Main-Class: me.lensfrex.manager.Main
+
diff --git a/src/main/resources/me.lensfrex.manager/cnHelpMessage.txt b/src/main/resources/me/lensfrex/manager/cnHelpMessage.txt
similarity index 89%
rename from src/main/resources/me.lensfrex.manager/cnHelpMessage.txt
rename to src/main/resources/me/lensfrex/manager/cnHelpMessage.txt
index 95ad0b0..32eec4b 100644
--- a/src/main/resources/me.lensfrex.manager/cnHelpMessage.txt
+++ b/src/main/resources/me/lensfrex/manager/cnHelpMessage.txt
@@ -1,5 +1,6 @@
----------------------------------------------------------------
欢迎来到 SManager-S
+源代码:https://git.ciduid.top/lensfrex/SManager-S
----------------------------------------------------------------
您想做什么:
1. 添加学生
diff --git a/src/main/resources/me.lensfrex.manager/helpMessage.txt b/src/main/resources/me/lensfrex/manager/helpMessage.txt
similarity index 91%
rename from src/main/resources/me.lensfrex.manager/helpMessage.txt
rename to src/main/resources/me/lensfrex/manager/helpMessage.txt
index 3a63586..602a3ac 100644
--- a/src/main/resources/me.lensfrex.manager/helpMessage.txt
+++ b/src/main/resources/me/lensfrex/manager/helpMessage.txt
@@ -1,5 +1,6 @@
----------------------------------------------------------------
Welcome to SManager-S
+Source code: https://git.ciduid.top/lensfrex/SManager-S
----------------------------------------------------------------
Do you want to:
1. Input record
diff --git a/src/main/resources/me.lensfrex.manager/studentInformationExample.txt b/src/main/resources/me/lensfrex/manager/studentInformationExample.txt
similarity index 100%
rename from src/main/resources/me.lensfrex.manager/studentInformationExample.txt
rename to src/main/resources/me/lensfrex/manager/studentInformationExample.txt