diff --git a/.idea/modules.xml b/.idea/modules.xml
index 230551d..0a02a5b 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -8,6 +8,8 @@
+
+
\ No newline at end of file
diff --git a/work8/src/Student.java b/work8/src/Student.java
new file mode 100644
index 0000000..d7b4ff7
--- /dev/null
+++ b/work8/src/Student.java
@@ -0,0 +1,37 @@
+/**
+ * @author : 张宇轩
+ * @createTime : 2022/10/1 - 21:21
+ */
+public class Student {
+ private String id;
+ private String name;
+
+ public Student() {
+ }
+
+ public Student(String id, String name) {
+ this.id = id;
+ this.name = name;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ @Override
+ public String toString() {
+ return id + "\t" + name + "\n";
+ }
+}
diff --git a/work8/src/SubjectEnrolment.java b/work8/src/SubjectEnrolment.java
new file mode 100644
index 0000000..07141af
--- /dev/null
+++ b/work8/src/SubjectEnrolment.java
@@ -0,0 +1,87 @@
+import java.util.Arrays;
+
+/**
+ * @author : 张宇轩
+ * @createTime : 2022/10/1 - 21:21
+ */
+public class SubjectEnrolment {
+ private String id;
+ private String name;
+ private Integer semester;
+ private Integer year;
+
+ private Student[] students;
+ private Integer count;
+
+ public SubjectEnrolment() {
+ }
+
+ public SubjectEnrolment(String id, String name, Integer semester, Integer year, Integer max) {
+ this.id = id;
+ this.name = name;
+ this.semester = semester;
+ this.year = year;
+ this.students = new Student[max];
+ this.count = 0;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public Integer getSemester() {
+ return semester;
+ }
+
+ public void setSemester(Integer semester) {
+ this.semester = semester;
+ }
+
+ public Integer getYear() {
+ return year;
+ }
+
+ public void setYear(Integer year) {
+ this.year = year;
+ }
+
+ public boolean addStudent(Student student) {
+ if (students == null || isFull()) {
+ return false;
+ }
+ students[this.count++] = student;
+ return true;
+ }
+
+ public boolean isFull() {
+ return students.length <= this.count;
+ }
+
+ @Override
+ public String toString() {
+ String info = "学科报名详情:" + "\n----------------\n" +
+ "课程号:" + id + "\n" +
+ "课程名:" + name + "\n" +
+ "授课学期:" + semester + "\n" +
+ "授课学年:" + year + "\n";
+ if (count != 0) {
+ info += "================\n学生详情:\n----------------\n学号:\t姓名:\n";
+ for (int i = 0; i < count; i++) {
+ info += students[i];
+ }
+ }
+ return info;
+ }
+}
diff --git a/work8/src/SubjectEnrolmentDriver.java b/work8/src/SubjectEnrolmentDriver.java
new file mode 100644
index 0000000..2f93bf2
--- /dev/null
+++ b/work8/src/SubjectEnrolmentDriver.java
@@ -0,0 +1,111 @@
+import java.io.IOException;
+import java.util.Scanner;
+
+/**
+ * @author : 张宇轩
+ * @createTime : 2022/10/1 - 21:20
+ */
+public class SubjectEnrolmentDriver {
+ private static SubjectEnrolment subjectEnrolment = null;
+
+ public static void main(String[] args) throws IOException {
+ while (true) {
+ int opt = menu();
+ switch (opt) {
+ case 1:
+ createNewSubject();
+ break;
+ case 2:
+ addStudent();
+ break;
+ case 3:
+ printSubjectDetails();
+ break;
+ case 4:
+ return;
+ }
+ System.out.println("按任意键继续...");
+ System.in.read();
+ }
+ }
+
+ /**
+ * 检查菜单选项输入合法性
+ * @param low 选项下界
+ * @param high 选项上界
+ * @return 合法选项值
+ */
+ public static int checkInput(int low, int high) {
+ Scanner scanner = new Scanner(System.in);
+ if (scanner.hasNextInt()) {
+ int opt = scanner.nextInt();
+ if (opt >= low && opt <= high) {
+ return opt;
+ }
+ System.out.println("输入超限,请输入" + low + "-" + high + "的数字");
+ } else {
+ System.out.println("输入数据类型错误,请输入" + low + "-" + high + "的数字");
+ scanner.next();
+ }
+ return -1;
+ }
+
+ public static int menu() {
+ System.out.println("欢迎使用学科报名系统");
+ System.out.println("1.创建新学科");
+ System.out.println("2.添加学生");
+ System.out.println("3.查看学科详情");
+ System.out.println("4.退出");
+ System.out.print(">>>请选择(1-4):");
+ int opt = -1;
+ while (opt == -1) {
+ opt = checkInput(1,4);
+ }
+ return opt;
+ }
+
+ public static void createNewSubject() {
+ if (subjectEnrolment == null) {
+ Scanner scanner = new Scanner(System.in);
+ System.out.println("请输入课程号:");
+ String id = scanner.nextLine();
+ System.out.println("请输入课程名:");
+ String name = scanner.nextLine();
+ System.out.println("请输入授课学期:");
+ int semester = scanner.nextInt();
+ System.out.println("请输入授课学年:");
+ int year = scanner.nextInt();
+ subjectEnrolment = new SubjectEnrolment(id, name, semester, year, 5);
+ } else {
+ System.out.println("课程已创建!无需重复创建");
+ }
+ }
+
+ public static void addStudent() {
+ if (subjectEnrolment == null){
+ System.out.println("学科不存在!请先执行功能1");
+ return;
+ }
+ if (!subjectEnrolment.isFull()) {
+ Scanner scanner = new Scanner(System.in);
+ System.out.println("请输入学生学号:");
+ String id = scanner.nextLine();
+ System.out.println("请输入学生姓名:");
+ String name = scanner.nextLine();
+ subjectEnrolment.addStudent(new Student(id, name));
+ System.out.println("学生添加成功!");
+ } else {
+ System.out.println("学生已满!无法添加更多学生");
+ }
+ }
+
+ public static void printSubjectDetails() {
+ if (subjectEnrolment != null) {
+ System.out.println(subjectEnrolment);
+ } else {
+ System.out.println("学科不存在!请先执行功能1");
+ }
+ }
+
+
+}
diff --git a/work8/work8.iml b/work8/work8.iml
new file mode 100644
index 0000000..c90834f
--- /dev/null
+++ b/work8/work8.iml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/work9/src/Exercise1.java b/work9/src/Exercise1.java
new file mode 100644
index 0000000..a03e7bc
--- /dev/null
+++ b/work9/src/Exercise1.java
@@ -0,0 +1,79 @@
+import java.util.Scanner;
+
+/**
+ * @author : 张宇轩
+ * @createTime : 2022/10/1 - 22:21
+ */
+public class Exercise1 {
+ public static void main(String[] args) {
+ String expression = new Scanner(System.in).nextLine();
+
+ int cnt = 0;
+ for (int i = 0; i < expression.length(); i++) {
+ if ('(' == expression.charAt(i)){
+ cnt++;
+ } else if (')' == expression.charAt(i)){
+ cnt--;
+ }
+ }
+ if (cnt != 0){
+ System.out.println("输入格式错误!");
+ return;
+ }
+
+ String[] opts = expression.split(",");
+ double res = 0;
+ if(opts.length == 2){
+ String exp = expression.substring(0, expression.indexOf("("));
+ if ("doubleMe".equals(exp)){
+ double num = Double.parseDouble(expression.substring(expression.indexOf("(")+1,expression.indexOf(")")));
+ res = num*2;
+ } else {
+ double num1 = Double.parseDouble(expression.substring(expression.indexOf("(")+1, expression.indexOf(",")));
+ double num2 = Double.parseDouble(expression.substring(expression.indexOf(",")+1, expression.indexOf(")")));
+ switch (exp){
+ case "add":
+ res = num1+num2;
+ break;
+ case "sub":
+ res = num1-num2;
+ break;
+ case "max":
+ res = Math.max(num1, num2);
+ break;
+ case "min":
+ res = Math.min(num1, num2);
+ break;
+ }
+ }
+ } else {
+ for (int i = opts.length-1; i >= 0; i--) {
+ String exp = opts[i].substring(0, opts[i].indexOf("("));
+ double num;
+ if(i != opts.length-1){
+ num = Double.parseDouble(opts[i].substring(opts[i].indexOf("(")+1));
+ } else {
+ num = Double.parseDouble(opts[i].substring(opts[i].indexOf("(") + 1, opts[i].indexOf(")")));
+ }
+ switch (exp){
+ case "add":
+ res += num;
+ break;
+ case "sub":
+ res -= num;
+ break;
+ case "max":
+ res = Math.max(res, num);
+ break;
+ case "min":
+ res = Math.min(res, num);
+ break;
+ case "doubleMe":
+ res = num*2;
+ break;
+ }
+ }
+ }
+ System.out.println(expression + "=" + res);
+ }
+}
diff --git a/work9/src/Exercise2.java b/work9/src/Exercise2.java
new file mode 100644
index 0000000..d30a829
--- /dev/null
+++ b/work9/src/Exercise2.java
@@ -0,0 +1,44 @@
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Scanner;
+
+/**
+ * @author : 张宇轩
+ * @createTime : 2022/10/1 - 23:00
+ */
+public class Exercise2 {
+ public static void main(String[] args) {
+ Date date = new Date();
+ SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
+ String serialNumber = df.format(date);
+
+ int cnt = 0;
+ Scanner scanner = new Scanner(System.in);
+ List details = new ArrayList<>();
+ while (true){
+ String input = scanner.nextLine();
+ if ("0000".equals(input)){
+ break;
+ }
+ String tmpSerialNumber = serialNumber + String.format("%04d",cnt++);
+ String detail = tmpSerialNumber + "," +input;
+ details.add(detail);
+ }
+ System.out.println("流水号\t\t\t商品名称\t商品数量\t单价\t总价");
+ int allSaleNum = 0;
+ double allSaleMoney = 0;
+ for (String each : details) {
+ String[] detail = each.split(",");
+ System.out.print(detail[0] + "\t" + detail[1] + "\t" + detail[2] + "\t\t" + detail[3] + "\t\t" );
+ int saleNum = Integer.parseInt(detail[2]);
+ double saleMoney = Double.parseDouble(detail[3]);
+ System.out.println(saleNum*saleMoney);
+
+ allSaleNum += saleNum;
+ allSaleMoney += saleNum*saleMoney;
+ }
+ System.out.println("总计:销售笔数 " + details.size() + ",销售数量 " + allSaleNum + ",销售金额 " + allSaleMoney);
+ }
+}
diff --git a/work9/work9.iml b/work9/work9.iml
new file mode 100644
index 0000000..c90834f
--- /dev/null
+++ b/work9/work9.iml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file