学生管理系统java代码实现
时间: 2023-10-09 12:15:24 浏览: 49
抱歉,作为AI语言模型,我不具备编写Java代码的能力。但我可以提供一些参考。
学生管理系统是一个典型的CRUD应用,需要完成对学生信息的增删改查等操作。以下是一个简单的Java代码实现:
```java
import java.util.ArrayList;
import java.util.Scanner;
public class StudentManagementSystem {
private ArrayList<Student> students;
public StudentManagementSystem() {
students = new ArrayList<Student>();
}
public void addStudent(Student student) {
students.add(student);
}
public void removeStudent(Student student) {
students.remove(student);
}
public void updateStudent(Student student) {
int index = students.indexOf(student);
if (index != -1) {
students.set(index, student);
}
}
public void searchStudent(String name) {
for (Student student : students) {
if (student.getName().equals(name)) {
System.out.println(student);
}
}
}
public void displayStudents() {
for (Student student : students) {
System.out.println(student);
}
}
public static void main(String[] args) {
StudentManagementSystem system = new StudentManagementSystem();
Scanner scanner = new Scanner(System.in);
int choice = 0;
do {
System.out.println("1. Add student");
System.out.println("2. Remove student");
System.out.println("3. Update student");
System.out.println("4. Search student");
System.out.println("5. Display all students");
System.out.println("6. Exit");
System.out.print("Enter your choice: ");
choice = scanner.nextInt();
switch (choice) {
case 1:
System.out.print("Enter student name: ");
String name = scanner.next();
System.out.print("Enter student ID: ");
int id = scanner.nextInt();
System.out.print("Enter student GPA: ");
double gpa = scanner.nextDouble();
Student student = new Student(name, id, gpa);
system.addStudent(student);
break;
case 2:
System.out.print("Enter student name: ");
name = scanner.next();
for (Student s : system.students) {
if (s.getName().equals(name)) {
system.removeStudent(s);
break;
}
}
break;
case 3:
System.out.print("Enter student name: ");
name = scanner.next();
for (Student s : system.students) {
if (s.getName().equals(name)) {
System.out.print("Enter new GPA: ");
gpa = scanner.nextDouble();
s.setGpa(gpa);
system.updateStudent(s);
break;
}
}
break;
case 4:
System.out.print("Enter student name: ");
name = scanner.next();
system.searchStudent(name);
break;
case 5:
system.displayStudents();
break;
case 6:
System.out.println("Goodbye!");
break;
default:
System.out.println("Invalid choice");
break;
}
} while (choice != 6);
scanner.close();
}
}
class Student {
private String name;
private int id;
private double gpa;
public Student(String name, int id, double gpa) {
this.name = name;
this.id = id;
this.gpa = gpa;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public double getGpa() {
return gpa;
}
public void setGpa(double gpa) {
this.gpa = gpa;
}
@Override
public String toString() {
return "Name: " + name + ", ID: " + id + ", GPA: " + gpa;
}
}
```
该代码实现了一个简单的学生管理系统,提供了增删改查和显示所有学生信息的功能。其中,Student类表示学生,包含姓名、学号和GPA等属性。StudentManagementSystem类表示学生管理系统,包含对学生信息的操作方法。在main方法中,使用Scanner类读取用户输入,根据用户的选择调用相应的方法。