用简单的java知识写300行学生成绩管理系统,并将每个代码的详细功能写出
时间: 2024-03-21 11:41:38 浏览: 44
好的,以下是一个简单的Java学生成绩管理系统,共300行,每个代码段的详细功能也会在注释中说明。由于篇幅限制,该系统只包含了学生信息管理、课程管理和成绩录入三个主要模块。
```java
import java.util.ArrayList;
import java.util.Scanner;
public class ScoreManagementSystem {
// 定义一个学生类
static class Student {
String name; // 学生姓名
int id; // 学生ID
ArrayList<Course> courses; // 学生所选课程
ArrayList<Integer> scores; // 学生所选课程分数
public Student(String name, int id) {
this.name = name;
this.id = id;
this.courses = new ArrayList<>();
this.scores = new ArrayList<>();
}
}
// 定义一个课程类
static class Course {
String name; // 课程名称
int id; // 课程ID
public Course(String name, int id) {
this.name = name;
this.id = id;
}
}
// 定义一个学生列表
static ArrayList<Student> students = new ArrayList<>();
// 定义一个课程列表
static ArrayList<Course> courses = new ArrayList<>();
// 定义一个输入工具
static Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
while (true) {
// 输出菜单
System.out.println("请选择操作:");
System.out.println("1. 学生信息管理");
System.out.println("2. 课程管理");
System.out.println("3. 成绩录入");
System.out.println("4. 退出程序");
System.out.print("请选择:");
// 读取用户输入
int choice = scanner.nextInt();
// 根据用户选择执行相应操作
switch (choice) {
case 1:
studentManagement();
break;
case 2:
courseManagement();
break;
case 3:
scoreInput();
break;
case 4:
System.exit(0);
default:
System.out.println("无效的选择,请重新输入!");
break;
}
}
}
// 学生信息管理
static void studentManagement() {
while (true) {
// 输出学生信息管理菜单
System.out.println("请选择操作:");
System.out.println("1. 添加学生");
System.out.println("2. 删除学生");
System.out.println("3. 修改学生信息");
System.out.println("4. 查询学生信息");
System.out.println("5. 返回上一级菜单");
System.out.print("请选择:");
// 读取用户输入
int choice = scanner.nextInt();
// 根据用户选择执行相应操作
switch (choice) {
case 1:
addStudent();
break;
case 2:
deleteStudent();
break;
case 3:
modifyStudent();
break;
case 4:
queryStudent();
break;
case 5:
return;
default:
System.out.println("无效的选择,请重新输入!");
break;
}
}
}
// 添加学生
static void addStudent() {
System.out.println("请输入学生姓名:");
String name = scanner.next();
System.out.println("请输入学生ID:");
int id = scanner.nextInt();
students.add(new Student(name, id));
System.out.println("添加学生成功!");
}
// 删除学生
static void deleteStudent() {
System.out.println("请输入要删除的学生ID:");
int id = scanner.nextInt();
for (int i = 0; i < students.size(); i++) {
if (students.get(i).id == id) {
students.remove(i);
System.out.println("删除学生成功!");
return;
}
}
System.out.println("未找到该学生,请重新输入!");
}
// 修改学生信息
static void modifyStudent() {
System.out.println("请输入要修改的学生ID:");
int id = scanner.nextInt();
for (int i = 0; i < students.size(); i++) {
if (students.get(i).id == id) {
System.out.println("请输入新的学生姓名:");
String name = scanner.next();
students.get(i).name = name;
System.out.println("修改学生信息成功!");
return;
}
}
System.out.println("未找到该学生,请重新输入!");
}
// 查询学生信息
static void queryStudent() {
System.out.println("请输入要查询的学生ID:");
int id = scanner.nextInt();
for (Student student : students) {
if (student.id == id) {
System.out.println("姓名:" + student.name + ",ID:" + student.id);
System.out.println("所选课程:");
for (int i = 0; i < student.courses.size(); i++) {
System.out.println(student.courses.get(i).name + ":" + student.scores.get(i));
}
return;
}
}
System.out.println("未找到该学生,请重新输入!");
}
// 课程管理
static void courseManagement() {
while (true) {
// 输出课程管理菜单
System.out.println("请选择操作:");
System.out.println("1. 添加课程");
System.out.println("2. 删除课程");
System.out.println("3. 修改课程信息");
System.out.println("4. 查询课程信息");
System.out.println("5. 返回上一级菜单");
System.out.print("请选择:");
// 读取用户输入
int choice = scanner.nextInt();
// 根据用户选择执行相应操作
switch (choice) {
case 1:
addCourse();
break;
case 2:
deleteCourse();
break;
case 3:
modifyCourse();
break;
case 4:
queryCourse();
break;
case 5:
return;
default:
System.out.println("无效的选择,请重新输入!");
break;
}
}
}
// 添加课程
static void addCourse() {
System.out.println("请输入课程名称:");
String name = scanner.next();
System.out.println("请输入课程ID:");
int id = scanner.nextInt();
courses.add(new Course(name, id));
System.out.println("添加课程成功
阅读全文