21xrx.com
2025-03-22 14:35:07 Saturday
文章检索 我的文章 写文章
Java期末题:利用面向对象编程实现学生信息管理系统
2023-06-17 21:57:28 深夜i     12     0
Java语言 面向对象编程 学生信息管理系统

在计算机科学的课程中,Java语言是非常重要的一门语言,被广泛应用于企业级项目的开发。作为这门语言的学习者,我们需要通过实践来巩固所学知识。下面就提供一个Java期末题的示例,展示如何利用面向对象编程实现学生信息管理系统。

请在Eclipse或者其他编译器中创建一个Java项目,包含两个类:Student类和StudentManager类。其中,Student类表示学生信息,包含学生的姓名、年龄、性别、学号、专业五个属性。StudentManager类表示学生信息管理系统,包含添加学生、删除学生、查询学生、修改学生信息等操作。下面是具体的代码实现:

**Student.java**

public class Student {
  private String name;
  private int age;
  private String gender;
  private int id;
  private String major;
  public Student(String name, int age, String gender, int id, String major)
    this.name = name;
    this.age = age;
    this.gender = gender;
    this.id = id;
    this.major = major;
  
  public String getName()
    return name;
  
  public void setName(String name)
    this.name = name;
  
  public int getAge()
    return age;
  
  public void setAge(int age)
    this.age = age;
  
  public String getGender()
    return gender;
  
  public void setGender(String gender)
    this.gender = gender;
  
  public int getId()
    return id;
  
  public void setId(int id)
    this.id = id;
  
  public String getMajor()
    return major;
  
  public void setMajor(String major)
    this.major = major;
  
}

**StudentManager.java**

import java.util.ArrayList;
import java.util.Scanner;
public class StudentManager {
  private ArrayList
  students = new ArrayList 
  
   ();
  
 
  public void addStudent() {
    Scanner scanner = new Scanner(System.in);
    System.out.println("请输入学生姓名:");
    String name = scanner.nextLine();
    System.out.println("请输入学生年龄:");
    int age = scanner.nextInt();
    scanner.nextLine();
    System.out.println("请输入学生性别:");
    String gender = scanner.nextLine();
    System.out.println("请输入学生学号:");
    int id = scanner.nextInt();
    scanner.nextLine();
    System.out.println("请输入学生所在专业:");
    String major = scanner.nextLine();
    students.add(new Student(name, age, gender, id, major));
  }
  public void deleteStudent() {
    Scanner scanner = new Scanner(System.in);
    System.out.println("请输入要删除的学生学号:");
    int id = scanner.nextInt();
    for (int i = 0; i < students.size(); i++) {
      if (students.get(i).getId() == id) {
        students.remove(i);
        System.out.println("删除成功!");
        return;
      }
    }
    System.out.println("未找到该学号的学生!");
  }
  public void queryStudent() {
    Scanner scanner = new Scanner(System.in);
    System.out.println("请输入要查询的学生姓名:");
    String name = scanner.nextLine();
    ArrayList
  queryResult = new ArrayList 
  
   ();
  
 
    for (int i = 0; i < students.size(); i++) {
      if (students.get(i).getName().equals(name)) {
        queryResult.add(students.get(i));
      }
    }
    if (queryResult.size() == 0) {
      System.out.println("未找到该姓名的学生!");
    } else {
      System.out.println("查询结果如下:");
      for (int i = 0; i < queryResult.size(); i++) {
        System.out.println("姓名:" + queryResult.get(i).getName() + ",年龄:" + queryResult.get(i).getAge()
                  + ",性别:" + queryResult.get(i).getGender() + ",学号:" + queryResult.get(i).getId()
                  + ",专业:" + queryResult.get(i).getMajor());
      }
    }
  }
  public void modifyStudent() {
    Scanner scanner = new Scanner(System.in);
    System.out.println("请输入要修改信息的学生学号:");
    int id = scanner.nextInt();
    scanner.nextLine();
    for (int i = 0; i < students.size(); i++) {
      if (students.get(i).getId() == id) {
        System.out.println("请输入学生姓名:");
        String name = scanner.nextLine();
        System.out.println("请输入学生年龄:");
        int age = scanner.nextInt();
        scanner.nextLine();
        System.out.println("请输入学生性别:");
        String gender = scanner.nextLine();
        System.out.println("请输入学生所在专业:");
        String major = scanner.nextLine();
        students.get(i).setName(name);
        students.get(i).setAge(age);
        students.get(i).setGender(gender);
        students.get(i).setMajor(major);
        System.out.println("修改成功!");
        return;
      }
    }
    System.out.println("未找到该学号的学生!");
  }
  public void printMenu() {
    System.out.println("============================");
    System.out.println("学生信息管理系统");
    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.println("============================");
  }
  public void run() {
    Scanner scanner = new Scanner(System.in);
    while (true) {
      printMenu();
      System.out.println("请输入操作编号:");
      int choice = scanner.nextInt();
      scanner.nextLine();
      switch (choice) {
        case 1:
          addStudent();
          break;
        case 2:
          deleteStudent();
          break;
        case 3:
          queryStudent();
          break;
        case 4:
          modifyStudent();
          break;
        case 5:
          System.out.println("感谢使用本系统!");
          return;
        default:
          System.out.println("输入有误,请重新输入!");
      }
    }
  }
  public static void main(String[] args) {
    StudentManager studentManager = new StudentManager();
    studentManager.run();
  }
}

通过这个示例,我们实现了一个简单的学生信息管理系统。除了基本的增删查改操作之外,还实现了一个简单的菜单界面,提示用户如何操作。在实现这个系统的过程中,我们使用了面向对象的编程方法,将学生信息和学生信息管理系统分别表示为一个类,并进行了适当的封装和调用,使得整个程序更加可读、可维护、可扩展。

  
  

评论区

请求出错了