You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.9 KiB
54 lines
1.9 KiB
package com.example;
|
|
|
|
import com.example.controller.CourseController;
|
|
import com.example.view.CourseView;
|
|
|
|
/**
|
|
* 湖大选课系统主应用类
|
|
* MVC架构入口,协调Controller和View
|
|
*/
|
|
public class HnuCourseSystem {
|
|
|
|
public static void main(String[] args) {
|
|
// 创建Controller和View
|
|
CourseController controller = new CourseController();
|
|
CourseView view = new CourseView();
|
|
|
|
// 初始化数据库
|
|
controller.initDatabase();
|
|
|
|
try {
|
|
int choice;
|
|
|
|
do {
|
|
// 显示菜单
|
|
view.displayMenu();
|
|
|
|
// 获取用户选择
|
|
choice = view.getUserChoice();
|
|
|
|
// 根据选择执行相应操作
|
|
switch (choice) {
|
|
case 1 -> view.displayOverallStatistics(controller.getOverallStatistics());
|
|
case 2 -> view.displayCourseTypeDistribution(controller.getCourseTypeDistribution());
|
|
case 3 -> view.displayDepartmentDistribution(controller.getDepartmentDistribution());
|
|
case 4 -> view.displayCreditDistribution(controller.getCreditDistribution());
|
|
case 5 -> view.displayTopCourses(controller.getTopCourses());
|
|
case 6 -> view.displayCourseUsageRate(controller.getCourseUsageRate());
|
|
case 7 -> view.displayDepartmentStatistics(controller.getDepartmentStatistics());
|
|
case 0 -> view.displayExitMessage();
|
|
default -> view.displayInvalidChoice();
|
|
}
|
|
|
|
// 非退出操作时等待用户确认
|
|
if (choice != 0) {
|
|
view.displayContinuePrompt();
|
|
}
|
|
|
|
} while (choice != 0);
|
|
|
|
} finally {
|
|
view.close();
|
|
}
|
|
}
|
|
}
|