一、前言
本文主要是实现登录学生管理系统后的功能一部分,包括实现学生类和主界面、添加学生、查看所有学生,其主界面如图
二、学生类实现
在本管理系统中,需要录入的是学生的学号、姓名和性别,所以首先要定义三个成员变量
- private String id
- private String name
- private String gender
然后生成一个标准的JavaBean类,快捷方法参考文章:IDEA2018 中有关编写JavaBean类的小技巧(保姆级教程)
生成后将最后两行删除,代码如下:
public class student { private String id; private String name; private String gender; public student() { } public student(String id, String name, String gender) { this.id = id; this.name = name; this.gender = gender; } /** * 获取 * @return id */ public String getId() { return id; } /** * 设置 * @param id */ public void setId(String id) { this.id = id; } /** * 获取 * @return name */ public String getName() { return name; } /** * 设置 * @param name */ public void setName(String name) { this.name = name; } /** * 获取 * @return gender */ public String getGender() { return gender; } /** * 设置 * @param gender */ public void setGender(String gender) { this.gender = gender; } }
三、主界面实现
1.解题思路
由于这里要选择的选项很多,所以我们用 switch语句 来实现
1.创建一个集合,用来存放学生数据
2.打印输出 “-----欢迎来到学生管理系统-----”
3.打印输出“----------------------------” 和 “请选择需要执行的操作”
4.键盘输入一个数
5.运用switch语句来进行选择,并调用方法实现每个选择
6.调用无限循环语句使得每次执行操作完回到主界面
2.代码实现
public static void main(String[] args) { ArrayList<student> list = new ArrayList<>(); Scanner in = new Scanner(System.in); 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("----------------------------"); System.out.println("请选择需要执行的操作"); int i = in.nextInt(); switch (i) { case 1: System.out.println("添加学生"); addStudent(list); break; case 2: System.out.println("删除学生"); removeStudent(list); break; case 3: System.out.println("修改学生"); modifyStudent(list); break; case 4: System.out.println("查找学生"); searchStudent(list); break; case 5: System.out.println("查看学生"); lookStudent(list); break; default: System.out.println("输入有误,请重新输入"); break; } }
四、添加学生功能
1.解题思路
1.定义一个带参数的方法,需要添加学生时调用方法即可
2.参数为一个集合,用来存放数据
3.分别从键盘录入要添加学生的学号、姓名和性别
4.将键盘输入的信息添加到集合中
5.返回提示信息 “添加成功”
2.学号重复情况
当录入的学号已经存在时,我们就要提示用户重新输入,直至不重复为止,这时候我们就需要重新定义一个方法来判断学号是否重复
🟡思路
1.定义一个带参数的方法来判断输入的学号是否已经存在与集合内
2.参数为集合和输入的学号
3.定义一个 flag,使其值为 false,表示新增元素与集合中存在元素不相同
4.遍历集合,判断输入的学号是否与集合中的元素相同
5.如果相同,修改flag的值为 true 并退出循环
6.返回flag的值
7.定义一个boolean型的变量接收返回值
8.参数为增加学生方法内定义的集合名以及输入的学号
9.判断变量值;如果为true,则输出提升语句:“学号重复,请重新输入”,如果为false则退出循环
10.由于添加循环,所以学号的类型要在循环体外定义,不影响后续使用
🟡判断是否重复功能的代码
public static boolean isUsed(ArrayList<student> Array,String id){ boolean flag = false; for (int i = 0; i < Array.size(); i++) { student s = Array.get(i); if(s.getId().equals(id)){ flag = true; break; } } return flag; }
🟡在实现添加学生功能内代码
while (true) { System.out.println("请输入学号"); id = in.next(); boolean flag = isUsed(Array, id); if (flag) { System.out.println("学号重复,请重新输入"); } else { break; }
3.代码实现
public static void addStudent(ArrayList<student> Array){ student s = new student(); Scanner in = new Scanner(System.in); String id; while (true) { System.out.println("请输入学号"); id = in.next(); boolean flag = isUsed(Array, id); if (flag) { System.out.println("学号重复,请重新输入"); } else { break; } } System.out.println("请输入姓名"); String name = in.next(); System.out.println("请输入性别"); String gender = in.next(); s.setName(name); s.setId(id); s.setGender(gender); Array.add(s); System.out.println("添加成功"); }
public static boolean isUsed(ArrayList<student> Array,String id){ boolean flag = false; for (int i = 0; i < Array.size(); i++) { student s = Array.get(i); if(s.getId().equals(id)){ flag = true; break; } } return flag; }
五、查看所有学生功能
1.解题思路
1.运用判断语句来判断集合内是否有元素存在
2.当集合内为空时,返回提示语句:“无信息,请添加后再查询”
3.当集合内有元素时,遍历集合并输出集合内元素
4.为了整齐,使用制表符 \t 来缩进
2.代码实现
public static void lookStudent(ArrayList<student> Array){ if(Array.size() == 0){ System.out.println("无信息,请添加后再查询"); } for (int i = 0; i < Array.size(); i++) { student s = Array.get(i); System.out.println("学号"+"\t"+"姓名"+"\t"+"性别"+"\t"); System.out.println(s.getId()+"\t"+s.getName()+"\t"+s.getGender()+"\t"); } }
六、结语
本文实现了一部分功能,下一篇文章中会实现剩余功能