Java实验-学生管理系统
Posted 康小庄
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java实验-学生管理系统相关的知识,希望对你有一定的参考价值。
针对目前我们的所学内容,完成一个综合案例:学生管理系统!该系统主要功能如下:
添加学生:通过键盘录入学生信息,添加到集合中
删除学生:通过键盘录入要删除学生的学号,将该学生对象从集合中删除
修改学生:通过键盘录入要修改学生的学号,将该学生对象其他信息进行修改
查看学生:将集合中的学生对象信息进行展示
退出系统:结束程序
实现步骤:
- 定义学生类,包含以下成员变量
private String sid // 学生id
private String name // 学生姓名
private String age // 学生年龄
private String address // 学生所在地 - 学生管理系统主界面的搭建步骤
2.1 用输出语句完成主界面的编写
2.2 用Scanner实现键盘输入
2.3 用switch语句完成选择的功能
2.4 用循环完成功能结束后再次回到主界面 - 学生管理系统的添加学生功能实现步骤
3.1 定义一个方法,接收ArrayList<Student>
集合
3.2 方法内完成添加学生的功能
①键盘录入学生信息
②根据录入的信息创建学生对象
③将学生对象添加到集合中
④提示添加成功信息
3.3 在添加学生的选项里调用添加学生的方法 - 学生管理系统的查看学生功能实现步骤
4.1 定义一个方法,接收ArrayList<Student>
集合
4.2 方法内遍历集合,将学生信息进行输出
4.3 在查看所有学生选项里调用查看学生方法 - 学生管理系统的删除学生功能实现步骤
5.1 定义一个方法,接收ArrayList<Student>
集合
5.2 方法中接收要删除学生的学号
5.3 遍历集合,获取每个学生对象
5.4 使用学生对象的学号和录入的要删除的学号进行比较,如果相同,则将当前学生对象从集合中删除
5.5 在删除学生选项里调用删除学生的方法 - 学生管理系统的修改学生功能实现步骤
6.1 定义一个方法,接收ArrayList<Student>
集合
6.2 方法中接收要修改学生的学号
6.3 通过键盘录入学生对象所需的信息,并创建对象
6.4 遍历集合,获取每一个学生对象。并和录入的修改学生学号进行比较.如果相同,则使用新学生对象替换当前学生对象:
6.5 在修改学生选项里调用修改学生的方法 - 退出系统
使用外层循环添加标记,终止系统
Student
public class Student
// 学生id
private String sid;
// 学生姓名
private String name;
// 学生年龄
private String age;
// 学生所在地
private String address;
public Student()
super();
public Student(String sid, String name, String age, String address)
super();
this.sid = sid;
this.name = name;
this.age = age;
this.address = address;
public String getSid()
return sid;
public void setSid(String sid)
this.sid = sid;
public String getName()
return name;
public void setName(String name)
this.name = name;
public String getAge()
return age;
public void setAge(String age)
this.age = age;
public String getAddress()
return address;
public void setAddress(String address)
this.address = address;
StudentManagerSystem
public class StudentManagerSystem
public static Scanner sc = new Scanner(System.in);
// 创建集合对象,用于存储学生数据
static ArrayList<Student> array = new ArrayList<Student>();
public static void main(String[] args)
// 用Scanner实现键盘录入数据
boolean flag = true;
if (flag)
System.out.println("----欢迎来到学校人事管理系统,请先登录----");
// 用循环完成再次回到主界面
while (true)
// 用输出语句完成主界面的编写
// 1,庄康,男,2001年,800,1,计算机
// 1,庄康,男,2001年,北京,经理,3400.00
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("请输入你的选择:");
String line = sc.nextLine();
// 用switch语句完成操作的选择
switch (line)
case "1":
addStudent(array);
break;
case "2":
findAllStudent(array);
break;
case "3":
deleteStudent(array);
break;
case "4":
updateStudent(array);
break;
case "5":
System.out.println("谢谢使用");
System.exit(0); // JVM退出
default:
System.out.println("没有对应的操作,请重新选择");
// 添加学生的方法
private static void addStudent(ArrayList<Student> array)
String id = "";
while (true)
System.out.print("输入学号:");
id = sc.nextLine();
boolean flag = false;
for (int i = 0; i < array.size(); i++)
Student student = array.get(i);
if (id.equals(student.getSid()))
flag = true;
break;
if (flag)
System.out.println("学号已被使用,重新输入!");
else
break;
System.out.print("输入姓名:");
String name = sc.nextLine();
System.out.print("输入年龄:");
String age = sc.nextLine();
System.out.print("输入地址:");
String address = sc.nextLine();
Student student = new Student(id, name, age, address);
array.add(student);
System.out.println("添加学生成功!");
// 查看学生
private static void findAllStudent(ArrayList<Student> array)
if (array.size() == 0)
System.out.println("无学生信息,请重新选择");
return;
System.out.println();
System.out.println("学号\\t\\t\\t\\t姓名\\t\\t\\t\\t年龄\\t\\t\\t居住地");
System.out.println("------------");
for (int x = 0; x < array.size(); x++)
Student s = array.get(x);
System.out.println(s.getSid() + "\\t\\t\\t\\t" + s.getName() + "\\t\\t\\t\\t" + s.getAge() + "\\t\\t\\t\\t"
+ s.getAddress() + "\\t\\t\\t\\t");
System.out.println("------------");
// 删除学生操作
private static void deleteStudent(ArrayList<Student> array)
System.out.println("输入要删除的学号:");
Student student = null;
String id = sc.nextLine();
int index = -1;
for (int x = 0; x < array.size(); x++)
student = array.get(x);
if (id.equals(student.getSid()))
index = x;
break;
if (index == -1)
System.out.println("学生信息不存在,返回主页面!");
return;
else
array.remove(student);
System.out.println("删除学生成功!");
// 更新学生
private static void updateStudent(ArrayList<Student> array)
findAllStudent(array);
System.out.println("输入要更新的学生学号:");
Student student = null;
String id = sc.nextLine();
int index = -1;
for (int x = 0; x < array.size(); x++)
student = array.get(x);
if (id.equals(student.getSid()))
index = x;
break;
if (index == -1)
System.out.println("学生信息不存在,返回主页面!");
return;
else
System.out.print("输入学号:");
String updateid = sc.nextLine();
System.out.print("输入姓名:");
String name = sc.nextLine();
System.out.print("输入年龄:");
String age = sc.nextLine();
System.out.print("输入地址:");
String address = sc.nextLine();
Student updateStudent = new Student(updateid, name, age, address);
int updateIndex = array.indexOf(student);
array.set(updateIndex, updateStudent);
System.out.println("更新学生成功!");
findAllStudent(array);
以上是关于Java实验-学生管理系统的主要内容,如果未能解决你的问题,请参考以下文章