使用JAVA语言完成文档内模块功能
时间: 2024-10-20 15:12:10 浏览: 18
基于Java语言的生物项目功能模块设计源码
为了实现文档中描述的各个模块功能,可以按照以下步骤用Java语言进行开发。每个模块的功能如下:
### 主菜单
- **首页展示**:显示欢迎信息或系统的主要操作选项。
- **退出系统**:允许用户安全地退出系统。
- **稳定性测试**:确保系统的稳定性和可靠性。
### 模块1:学生管理
- **添加学生**:允许管理员添加新的学生信息。
- **修改学生姓名**:允许管理员修改已有的学生姓名。
- **删除学生**:允许管理员删除某个学生的信息。
### 模块2:课程管理
- **添加课程**:允许管理员添加新的课程信息。
- **删除课程**:允许管理员删除某个课程的信息。
### 模块3:成绩管理
- **成绩录入**:允许管理员录入学生的成绩。
- **成绩展示**:显示所有学生的成绩信息。
- **成绩分析**:对学生成绩进行统计分析。
### 实现代码示例
#### 主菜单类
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
StudentManager studentManager = new StudentManager();
CourseManager courseManager = new CourseManager();
GradeManager gradeManager = new GradeManager();
while (true) {
System.out.println("主菜单:");
System.out.println("1. 首页展示");
System.out.println("2. 学生管理");
System.out.println("3. 课程管理");
System.out.println("4. 成绩管理");
System.out.println("0. 退出系统");
int choice = scanner.nextInt();
switch (choice) {
case 1:
homePageDisplay();
break;
case 2:
studentManagement(scanner, studentManager);
break;
case 3:
courseManagement(scanner, courseManager);
break;
case 4:
gradeManagement(scanner, gradeManager);
break;
case 0:
System.out.println("退出系统...");
return;
default:
System.out.println("无效输入,请重新选择!");
}
}
}
private static void homePageDisplay() {
System.out.println("欢迎使用学生管理系统!");
}
private static void studentManagement(Scanner scanner, StudentManager studentManager) {
// 学生管理子菜单
while (true) {
System.out.println("学生管理:");
System.out.println("1. 添加学生");
System.out.println("2. 修改学生姓名");
System.out.println("3. 删除学生");
System.out.println("0. 返回主菜单");
int choice = scanner.nextInt();
switch (choice) {
case 1:
studentManager.addStudent(scanner);
break;
case 2:
studentManager.modifyStudentName(scanner);
break;
case 3:
studentManager.deleteStudent(scanner);
break;
case 0:
return;
default:
System.out.println("无效输入,请重新选择!");
}
}
}
private static void courseManagement(Scanner scanner, CourseManager courseManager) {
// 课程管理子菜单
while (true) {
System.out.println("课程管理:");
System.out.println("1. 添加课程");
System.out.println("2. 删除课程");
System.out.println("0. 返回主菜单");
int choice = scanner.nextInt();
switch (choice) {
case 1:
courseManager.addCourse(scanner);
break;
case 2:
courseManager.deleteCourse(scanner);
break;
case 0:
return;
default:
System.out.println("无效输入,请重新选择!");
}
}
}
private static void gradeManagement(Scanner scanner, GradeManager gradeManager) {
// 成绩管理子菜单
while (true) {
System.out.println("成绩管理:");
System.out.println("1. 录入成绩");
System.out.println("2. 展示成绩");
System.out.println("3. 分析成绩");
System.out.println("0. 返回主菜单");
int choice = scanner.nextInt();
switch (choice) {
case 1:
gradeManager.recordGrade(scanner);
break;
case 2:
gradeManager.displayGrades();
break;
case 3:
gradeManager.analyzeGrades();
break;
case 0:
return;
default:
System.out.println("无效输入,请重新选择!");
}
}
}
}
```
#### 学生管理类
```java
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
class Student {
String id;
String name;
public Student(String id, String name) {
this.id = id;
this.name = name;
}
}
class StudentManager {
List<Student> students = new ArrayList<>();
public void addStudent(Scanner scanner) {
System.out.print("请输入学生ID: ");
String id = scanner.next();
System.out.print("请输入学生姓名: ");
String name = scanner.next();
if (students.size() >= 100) { // 假设班级最大人数为100
System.out.println("班级人数已满,无法添加更多学生!");
return;
}
students.add(new Student(id, name));
System.out.println("学生添加成功!");
}
public void modifyStudentName(Scanner scanner) {
System.out.print("请输入要修改的学生ID: ");
String id = scanner.next();
for (Student student : students) {
if (student.id.equals(id)) {
System.out.print("请输入新的学生姓名: ");
student.name = scanner.next();
System.out.println("学生姓名修改成功!");
return;
}
}
System.out.println("未找到该学生!");
}
public void deleteStudent(Scanner scanner) {
System.out.print("请输入要删除的学生ID: ");
String id = scanner.next();
students.removeIf(student -> student.id.equals(id));
System.out.println("学生删除成功!");
}
}
```
#### 课程管理类
```java
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
class Course {
String id;
String name;
public Course(String id, String name) {
this.id = id;
this.name = name;
}
}
class CourseManager {
List<Course> courses = new ArrayList<>();
public void addCourse(Scanner scanner) {
System.out.print("请输入课程ID: ");
String id = scanner.next();
System.out.print("请输入课程名称: ");
String name = scanner.next();
courses.add(new Course(id, name));
System.out.println("课程添加成功!");
}
public void deleteCourse(Scanner scanner) {
System.out.print("请输入要删除的课程ID: ");
String id = scanner.next();
courses.removeIf(course -> course.id.equals(id));
System.out.println("课程删除成功!");
}
}
```
#### 成绩管理类
```java
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
class GradeManager {
Map<String, Double> grades = new HashMap<>();
public void recordGrade(Scanner scanner) {
System.out.print("请输入学生ID: ");
String id = scanner.next();
System.out.print("请输入成绩: ");
double grade = scanner.nextDouble();
grades.put(id, grade);
System.out.println("成绩录入成功!");
}
public void displayGrades() {
if (grades.isEmpty()) {
System.out.println("暂无成绩记录!");
return;
}
for (Map.Entry<String, Double> entry : grades.entrySet()) {
System.out.println("学生ID: " + entry.getKey() + ", 成绩: " + entry.getValue());
}
}
public void analyzeGrades() {
if (grades.isEmpty()) {
System.out.println("暂无成绩记录,无法进行分析!");
return;
}
double sum = 0;
double max = Double.MIN_VALUE;
double min = Double.MAX_VALUE;
for (double grade : grades.values()) {
sum += grade;
if (grade > max) max = grade;
if (grade < min) min = grade;
}
double average = sum / grades.size();
System.out.println("平均成绩: " + average);
System.out.println("最高成绩: " + max);
System.out.println("最低成绩: " + min);
}
}
```
以上代码实现了文档中描述的所有模块功能,并且包含了基本的异常处理逻辑。可以根据具体需求进一步扩展和完善。
阅读全文