1.15 学员管理系统【综合案例】
1.学生管理系统
1.1学生管理系统实现步骤【理解】
案例需求
针对目前我们的所学内容,完成一个综合案例:学生管理系统!该系统主要功能如下:
添加学生:通过键盘录入学生信息,添加到集合中
删除学生:通过键盘录入要删除学生的学号,将该学生对象从集合中删除
修改学生:通过键盘录入要修改学生的学号,将该学生对象其他信息进行修改
查看学生:将集合中的学生对象信息进行展示
退出系统:结束程序
实现步骤
- 定义学生类,包含以下成员变量
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集合 3.2 方法内完成添加学生的功能 ①键盘录入学生信息
②根据录入的信息创建学生对象 ③将学生对象添加到集合中 ④提示添加成功信息 3.3 在添
加学生的选项里调用添加学生的方法 - 学生管理系统的查看学生功能实现步骤
4.1 定义一个方法,接收ArrayList集合 4.2 方法内遍历集合,将学生信息进行输出 4.3 在查看
所有学生选项里调用查看学生方法 - 学生管理系统的删除学生功能实现步骤
5.1 定义一个方法,接收ArrayList集合 5.2 方法中接收要删除学生的学号 5.3 遍历集合,获取
每个学生对象 5.4 使用学生对象的学号和录入的要删除的学号进行比较,如果相同,则将当前
学生对象从集合中删除 5.5 在删除学生选项里调用删除学生的方法 - 学生管理系统的修改学生功能实现步骤
6.1 定义一个方法,接收ArrayList集合 6.2 方法中接收要修改学生的学号 6.3 通过键盘录入学
生对象所需的信息,并创建对象 6.4 遍历集合,获取每一个学生对象。并和录入的修改学生
学号进行比较.如果相同,则使用新学生对象替换当前学生对象 6.5 在修改学生选项里调用修
改学生的方法 - 退出系统
使用System.exit(0);退出JVM
package demo07.demo05;
public class Student {
private int id;
private String name;
private int age;
private String site;
public Student() {
}
public Student(int id, String name, int age, String site) {
this.id = id;
this.name = name;
this.age = age;
this.site = site;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
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 getSite() {
return site;
}
public void setSite(String site) {
this.site = site;
}
@Override
public String toString() {
return "Student{" +
"id=" + id +
", name='" + name + '\'' +
", age=" + age +
", site='" + site + '\'' +
'}';
}
}
package demo07.demo05;
import java.util.ArrayList;
import java.util.Scanner;
public class StudentTest {
public static void main(String[] args) {
// 创建ArrayList集合
ArrayList<Student> list = new ArrayList<>();
// 添加一些初始值
Student s1 = new Student(101, "李华", 16, "北京");
Student s2 = new Student(102, "张强", 16, "上海");
Student s3 = new Student(103, "安静", 16, "广州");
list.add(s1);
list.add(s2);
list.add(s3);
Student stu = new Student();
Scanner sc = new Scanner(System.in);
// 使用方法:
System.out.println("---------学院管理系统欢迎你。----------");
while (true) {
System.out.println("请选择功能:\n 1 添加学生;2 删除学生;\n 3 修改学生;4 查看学生; 00 退出系统。");
System.out.println("------------------------------------");
int num = sc.nextInt();
switch (num) {
case 1:
addTest(list, stu);
continue;
case 2:
deleteTest(list);
continue;
case 3:
setTest(list);
continue;
case 4:
getTest(list);
continue;
case 00:
exitTest();
break;
default:
System.out.println("输入错误。沙雕");
continue;
}
}
}
private static void addTest(ArrayList<Student> list, Student stu) {
// 添加
Scanner sc = new Scanner(System.in);
int aId;
a:while (true) {
System.out.println("请输入id");
aId = sc.nextInt();
for (int i = 0; i < list.size(); i++) {
int x = list.get(i).getId();
if (x == aId) {
System.out.println("已存在,请重新输入");
break;
}
if (i == list.size() - 1 && x != aId) {
break a;
}
}
}
System.out.println("请输入姓名");
String aName = sc.next();
System.out.println("请输入年龄");
int aAge;
while (true) {
aAge = sc.nextInt();
if (aAge > 0 && aAge < 120) {
break;
} else {
System.out.println("错误,请重新输入年龄");
}
}
System.out.println("请输入地址:");
String aSite = sc.next();
// 构造方法添加
Student aStudent = new Student(aId, aName, aAge, aSite);
list.add(aStudent);
System.out.println("添加成功:");
getTest(list);
}
private static void deleteTest(ArrayList<Student> list) {
Scanner sc = new Scanner(System.in);
// 删除
System.out.println("请输入id");
int dID = sc.nextInt();
for (int i = 0; i < list.size(); i++) {
int d = list.get(i).getId();
if (dID == d) {
Student remove = list.remove(i);
System.out.println("删除成功:" + remove.toString());
break;
}
if (i == list.size() -1 && dID != d) {
System.out.println("删除失败或者id不存在。");
}
}
}
private static void setTest(ArrayList<Student> list) {
// 修改
Scanner sc = new Scanner(System.in);
System.out.println("请输入id");
int sId = sc.nextInt();
for (int i = 0; i < list.size(); i++) {
int xId = list.get(i).getId();
if (sId == xId) {
System.out.println("请输入姓名");
String aName = sc.next();
System.out.println("请输入年龄");
int aAge;
while (true) {
aAge = sc.nextInt();
if (aAge > 0 && aAge < 120) {
break;
} else {
System.out.println("错误,请重新输入年龄");
}
}
System.out.println("请输入地址:");
String aSite = sc.next();
// 构造
Student student = new Student(sId, aName, aAge, aSite);
list.set(i, student);
System.out.println("修改成功:" + student.toString());
break;
}
if (i == list.size() -1 && sId != xId) {
System.out.println("修改失败或者id不存在。");
}
}
}
private static void getTest(ArrayList<Student> list) {
// 查看
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i).toString());
}
}
private static void exitTest() {
System.exit(-1);
}
}