看了封神第一部,小小的调侃一下
简单的学生管理系统需要什么
登录页面
进入登录之后选择该如何操作增删改查
进入查询功能,(只有查询好使用才能进行后续操作)
进入增添功能
进入修改功能
进入删除功能
中间夹杂这一些辅助函数功能
首先实现登陆操作
明确用户和登录密码(这里我们指个人),也就是说要进行匹配用户和密码是否正确,只要有一方不正确,就登录页面不能进入
代码展示
//登录页面
public static void login(){
System.out.println("~~~~欢迎来到学生管理系统~~~~");
System.out.println("请输入管理人用户名");
String name=information();
System.out.println("请输入管理密码");
String password=information();
if("封神观众".equals(name)&&"20230720".equals(password)){
welcome();
}
else{
System.out.println("登录失败,重新输入");
}
}
这里存在一个函数方法information(),它是定义的一个辅助即键盘输入值,只有当你输入的用户名与密码与代码里所展示的信息相匹配,你才能正式登陆成功,否则你懂的!
一个函数information()
//键盘输入值
public static String information(){
Scanner scanner=new Scanner(System.in);
String message= scanner.next();
return message;
}
进入登录之后选择该如何操作增删改查
这里我们直接简单给出学生信息,这里的学生信息要提前写一个学生类,才能进行后面操作
代码展示学生类
public class Student1 {
private int id;
private String name;
private int age;
private int index;
public Student1( int id, String name, int age){
this.id=id;
this.name=name;
this.age=age;
}
public void setId(int id) {
this.id = id;
}
public int getId() {
return id;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setAge(int age) {
this.age = age;
}
public int getAge() {
return age;
}
}
代码展示如何选择增删改查
//进入系统方法
public static void welcome(){
ArrayList<Student1> arrayList=new ArrayList<>();
arrayList.add(new Student1(1,"殷商太子殷郊",22));
arrayList.add(new Student1(2,"周武王姬发",19));
arrayList.add(new Student1(3,"闻太师闻仲",85));
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 退出学生系统");
System.out.println("请根据序号选择下一步操作");
//序号选择
String number = information();
switch (number){
case "1":
getStudentList(arrayList);
break;
case "2":
addStudentList(arrayList);
break;
case "3":
updateStudent(arrayList);
break;
case "4":
deleteStudent(arrayList);
break;
case "5":
System.out.println("退出学生系统");
System.out.println("退出成功,拜拜");
System.exit(0);
break;
default:
System.out.println("输出错误");
break;
}
}
}
进入查询功能
代码展示
//满足查询学生列表功能
private static void getStudentList(ArrayList<Student1> arrayList){
System.out.println("学生人员列表为:");
System.out.println("序号--学号--姓名--年龄");
for (int i = 0; i <arrayList.size() ; i++) {
int id=arrayList.get(i).getId();
String name=arrayList.get(i).getName();
int age=arrayList.get(i).getAge();
System.out.println((i+1)+"-----"+id+"---"+name+"-"+age);
}
System.out.println("学生列表查询完毕");
}
这里是按默认顺序依次查询,如果你另行辟径,想要倒序插叙,更改循环即可
进入增添功能
代码展示
//满足添加学生功能
public static void addStudentList(ArrayList<Student1> arrayList){
System.out.println("请输入学生姓名-年龄:格式为 姓名-年龄");
String a= information();
String[] student = a.split("-"); //[姓名,年龄]
//学号 最大 + 1
int number = 0;
for (Student1 student1 : arrayList) {
if (student1.getId() > number){
number = student1.getId();
}
}
String name = student[0];
int age = Integer.parseInt(student[1]);
Student1 s1 = new Student1((number + 1), name, age);
//学生对象添加到list中
arrayList.add(s1);
System.out.println("学生添加完成");
System.out.println();
getStudentList(arrayList);
}
注意看清楚格式是什么:姓名-年龄,中间有一个-号,如果缺少它,就会报错然后直接退出来
它这个是添加到原来顺序的最后一位的后面,而不是中间选择插入
进入修改功能
代码展示
//满足修改学生功能
private static void updateStudent(ArrayList<Student1> arrayList) {
getStudentList(arrayList);
System.out.println("请选择要修改的学号");
String number=information();
int i = Integer.parseInt(number);
//查看到id了 根据id查找
int index = -1;
for (int j = 0; j < arrayList.size(); j++) {
if (arrayList.get(j).getId() == i){
index = j;
}
}
System.out.println("要修改的学生信息是"+arrayList.get(index));
System.out.println("请输入修改的姓名和年龄:格式 姓名-年龄");
String b = information();
String[] student = b.split("-"); //[姓名,年龄]
String name = student[0];
int age = Integer.parseInt(student[1]);
Student1 s1 = new Student1((index+1), name, age);
//替换
arrayList.set(index,s1);
System.out.println("学生修改完成");
System.out.println();
getStudentList(arrayList);
}
修改功能和删除功能都需要先找到学生信息的id,也就是它的唯一值即key,毕竟如果信息过多你选择年龄或者姓名的话会重复,当然还有你自己新添加的属性(学校,院系,专业,成绩·····),得到对应id学员信息后,你就可以在上面“为所欲为”将你所修改的信息与原有的信息直接替换就成功了
进入删除功能
代码展示
//满足删除学生功能
private static void deleteStudent(ArrayList<Student1> arrayList) {
getStudentList(arrayList);
System.out.println("请选择要删除的学号");
String number = information();
int i = Integer.parseInt(number);
//获取索引
int index = getIndex(i, arrayList);
//删除
arrayList.remove(index);
System.out.println("学生删除完成");
System.out.println();
getStudentList(arrayList);
}
获取索引就是要找到对应学生信息的id,这里既可以按照修改功能里面那样写,也可以专门写一个辅助getIndex(),毕竟如果相同代码过多就太繁琐了,简洁一些吧
//获取索引方法
public static int getIndex(int id , ArrayList<Student1> list){
int index = -1;
for (int j = 0; j < list.size(); j++) {
if (list.get(j).getId() == id){
index = j;
}
}
return index;
}
找到索引之后,将其对应学生的信息就直接删除
结果展示
登录和总页面 、查询、增添、修改、删除
总结
这是一个基于一些特定的代码而写的简单学生信息管理系统,但是增删改查的思路以及选择是大致不变的,这里我主方法没有给出,就是简单的一个在主方法里面调用login()。下次再见呐