学生管理系统概述:该学生管理系统提供 【增 删 改 查】四种功能供用户使用
1.提供一个学生类
package 学生管理系统;
public class Student {
//定义且封装学生类的四个属性----> 姓名 年龄 学号 地址
private String stuID;
private String name;
private Integer age;
private String address;
//提供有参构造对其属性进行赋值
public Student(String stuID, String name, Integer age, String address) {
this.stuID = stuID;
this.name = name;
this.age = age;
this.address = address;
}
//提供get、set方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getStuID() {
return stuID;
}
public void setStuID(String stuID) {
this.stuID = stuID;
}
}
2.提供一个测试类
package 学生管理系统;
import java.util.ArrayList;
import java.util.Scanner;
public class StudentManger {
//创建一个ArrayList集合用于存储创建的Student对象(泛型规定只能存储Student类型)
private static ArrayList<Student> stus = new ArrayList<Student>();
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.println("<5>:退出系统");
Scanner sc = new Scanner(System.in);
System.out.println(">>>请输入序号【1-5】进行后续操作<<<");
int number = sc.nextInt();
switch (number) {
case 1:
System.out.println("---<添加学生信息>---");
addMessage();
break;
case 2:
System.out.println("---<修改学生信息>---");
update();
break;
case 3:
System.out.println("---<删除学生信息>---");
deleteMessage();
break;
case 4:
System.out.println("---<查询学生信息>---");
findMessage();
break;
case 5:
System.out.println("---<退出系统>---");
System.exit(0);
/*
退出系统的几种方法:
1.System.exit(0);
2.return;
* */
break;
}
}
}
//添加学生信息
public static void addMessage() {
Scanner sc = new Scanner(System.in);
System.out.print("学号:");
String stuID = sc.nextLine();
//根据学号从集合中查询,若存在就不允许插入
Student student = compare(stuID);
if (student != null) {
System.out.println("该学号已存在,不允许继续使用!");
return;
}
System.out.print("姓名:");
String name = sc.nextLine();
System.out.print("年龄:");
Integer age = sc.nextInt();
System.out.print("地址:");
String address = sc.next();
//将学生对象存入集合中
stus.add(new Student(stuID, name, age, address));
System.out.println("》学生信息添加成功《");
}
//比较方法
public static Student compare(String stuID) {
for (int i = 0; i < stus.size(); i++) {
Student student = stus.get(i);
//用户录入的学号和集合中存在的学号相同,则不允许继续插入
if (stuID.equals(student.getStuID())) {
return student;
}
}
return null;
}
//查询学生信息
public static void findMessage() {
if (stus.size() == 0) {
System.out.println("该集合中没有存入任何学生对象");
}
System.out.println("学号\t\t姓名\t\t年龄\t\t地址");
for (Student student : stus) {
System.out.println(student.getStuID() + "\t\t" + student.getName() + "\t\t" +
student.getAge() + "\t\t" + student.getAddress());
}
}
//修改学生信息
public static void update() {
Scanner sc = new Scanner(System.in);
System.out.println("请输入要修改的学生学号:");
String stuID = sc.nextLine();
for (int i = 0; i < stus.size(); i++) {
Student student = stus.get(i);
if (student == null) {
System.out.println("从集合中没有找到该学号对应的学生信息!");
return;
}
//若要修改的学生学号是存在
if (stuID.equals(student.getStuID())) {
System.out.println("请输入要修改的新的姓名:");
String newName = sc.nextLine();
System.out.println("请输入要修改的新的年龄:");
Integer newAge = sc.nextInt();
System.out.println("请输入要修改的新的地址:");
String newAddress = sc.next();
student.setName(newName);
student.setAge(newAge);
student.setAddress(newAddress);
//修改了原来的学生对象信息
System.out.println("修改成功!");
}
}
}
//删除学生信息
public static void deleteMessage() {
/*
* 学号唯一不允许重复,根据学号删除
* */
Scanner sc = new Scanner(System.in);
System.out.println("请输入要删除的学生学号:");
String stuID = sc.nextLine();
/*
* 需要根据学号查找集合中是否存在该对象,若存在,直接调用
* */
for (int i = 0; i < stus.size(); i++) {
Student student = stus.get(i);
if (student.getStuID().equals(stuID)) {
stus.remove(i);//直接根据index下标删除
System.out.println("删除学生的学号" + stuID + "成功!");
return; //如果根据学号查找到该学生,则该循环结束,不再继续执行
}
}
//没有根据该学号查找到要删除的学生
System.out.println("没有根据该学号查找到要删除的学生!");
}
}
添加学生信息效果展示:
查询学生信息效果展示:
修改学生信息效果展示:
删除学生信息效果展示:
退出系统: