主要使用了util的Scanner键盘输入,和集合ArrayList
由于是在java基础上写的,没有太多花哨,毕竟后端嘛,能用就行,哈哈哈哈
截图1:程序启动的界面
截图2:添加学生
查询后添加方法添加的数据
截图3:删除后查询
截图5:退出
代码1:学生类(封装类) 为了方便,学号的类型换成了String,年龄换成了integer类型(原因:以防有空值,或者null,使用int类型的话会报错)
package StudentTest; import lombok.Data; public class Student { private String id; private String name; private Integer age; private String birthday; @Override public String toString() { return "Student{" + "id='" + id + ''' + ", name='" + name + ''' + ", age=" + age + ", birthday='" + birthday + ''' + '}'; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public String getBirthday() { return birthday; } public void setBirthday(String birthday) { this.birthday = birthday; } public Student(String id, String name, Integer age, String birthday) { this.id = id; this.name = name; this.age = age; this.birthday = birthday; } //无参构造 public Student() { } }
功能实现代码:里边有的方法,更简洁
package StudentTest; import java.util.ArrayList; import java.util.Scanner; public class StudentTest { public static void main(String[] args) { //创建键盘输入对象 Scanner sc = new Scanner(System.in); //在循环外创建ArrayList集合 ArrayListlist = new ArrayList (); // 创建while开关 boolean flag = true; while (flag) { // 1. 搭建主界⾯菜单 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("请输⼊您的选择:"); // 键盘输入功能 int digital = sc.nextInt(); // 使用switch将输入的功能实现 switch (digital) { case 1: addStudent(list); break; case 2: Remove(list); break; case 3: UpdateData(list); break; case 4: selectStudent(list); break; case 5: flag=false; break; default: System.out.println("输入有误"); break; } } } public static void addStudent(ArrayList list) { // 添加功能 // 使用键盘录入将学生信息放入list集合 Scanner sc = new Scanner(System.in); System.out.println("请输入学号:"); String id = sc.next(); System.out.println("请输入姓名:"); String name = sc.next(); System.out.println("请输入年龄:"); int age = sc.nextInt(); System.out.println("请输入生日:"); String birthday = sc.next(); Student stu = new Student(id, name, age, birthday); list.add(stu);
//去除重复的数据 for (int i = 0; i < list.size(); i++) { for (int j = i+1; j System.out.println("添加成功"); } public static void selectStudent(ArrayListlist) { if (list.size() == 0) { System.out.println("暂无信息,请重试"); //返回一个空值 return; } System.out.println("学号tt姓名tt年龄tt⽣⽇"); for (int i = 0; i < list.size(); i++) { Student stu = list.get(i); //字符串拼接 System.out.println(stu.getId() + "t" + stu.getName() + "t" + stu.getAge() + "tt" + stu.getBirthday()); } } public static void Remove(ArrayList list) { Scanner sc = new Scanner(System.in); System.out.println("请输入要删除的学生id:"); String sid = sc.next(); for (int i = 0; i < list.size(); i++) { //根据键盘输入的值,在list集合中进行判断,如果有就删除,没有返回 if (list.get(i).getId().equals(sid)) { list.remove(i); } } } public static void UpdateData(ArrayList list) { // 1.先创建要更新的信息 使用scanner Scanner sc = new Scanner(System.in); System.out.println("请输入要修改的学号:"); String id = sc.next(); // 2.遍历数组 for (int i = 0; i < list.size(); i++) { // 3.判断要修改的学生是否存在 if (list.get(i).getId().equals(id)) { // 4.存在的话创建Student对象,获取原本信息 System.out.println("请输入新的姓名:"); String name = sc.next(); System.out.println("请输入新的年龄:"); int age = sc.nextInt(); System.out.println("请输入新的生日:"); String birthday = sc.next(); // 5.更改信息 list.get(i).setName(name); list.get(i).setAge(age); list.get(i).setBirthday(birthday); } } } public static void StopClose(){ boolean flag=false; } } 有些注释写的不太好有建议可以评论告诉我,我现在也属于学习进步阶段,感谢大家