学生管理系统实现增、删、改、查(附源码)
创建Student类(标准的JavaBean)
package com.jike.demo02;public class Student {private String id;private String name;private int age;private String address;public Student(){}public Student(String id,String name,int age,String address){this.id = id;this.name = name;this.age = age;this.address = address;}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 int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}
}
创建测试类StudentTest:
package com.jike.demo02;import java.util.ArrayList;
import java.util.Scanner;public class StudentTest {public static void main(String[] args) {ArrayList list = new ArrayList<>();// 将while循环定义成loop,用于跳出循环loop: 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("请输入您的选择:");Scanner sc = new Scanner(System.in);String choose = sc.next();switch (choose){case "1": addStudent(list);break;case "2": deleteStudent(list);break;case "3": updateStudent(list);break;case "4": queryStudent(list);break;case "5": System.out.println("退出");break loop;// System.exit(0); //停止虚拟机运行default:System.out.println("没有这个选项!");break;}}}// 添加学生public static void addStudent(ArrayList list){Student s = new Student();Scanner sc = new Scanner(System.in);String id = null;while (true) {System.out.println("请输入学生id");id = sc.next();boolean flag = contains(list,id);if (flag){//如果存在,则重新录入idSystem.out.println("id存在,则重新录入!");}else {//id不存在,可以直接录入s.setId(id);break;}}System.out.println("请输入学生姓名");String name = sc.next();s.setName(name);System.out.println("请输入学生年龄");int age = sc.nextInt();s.setAge(age);System.out.println("请输入学生住址");String address = sc.next();s.setAddress(address);//添加到集合中list.add(s);//提示用户System.out.println("添加成功");}// 删除学生public static void deleteStudent(ArrayList list){Scanner sc = new Scanner(System.in);System.out.println("请输入您要删除的学生id:");String id = sc.next();//查询id在集合中的索引int index = getIndex(list, id);// 对id进行判断// 如果大于等于0直接删除,如果是-1则直接结束,返回到开始菜单if (index >= 0){list.remove(index);System.out.println("id为"+id+"的学生已被删除");}else {System.out.println("id不存在,删除失败");}}// 修改学生public static void updateStudent(ArrayList list){Scanner sc = new Scanner(System.in);System.out.println("请输入您要修改的学生id:");String id = sc.next();//查询id在集合中的索引int index = getIndex(list, id);// 对id进行判断if (index == -1) {System.out.println("id不存在无法修改");return;}//当代码运行到这则表示id存在Student stu = list.get(index);//输入要修改的信息System.out.println("请输入要修改的学生姓名");String newName = sc.next();stu.setName(newName);System.out.println("请输入要修改的学生年龄");int newAge = sc.nextInt();stu.setAge(newAge);System.out.println("请输入要修改的学生住址");String newAddress = sc.next();stu.setAddress(newAddress);System.out.println("学生修改信息成功!");}// 查询学生public static void queryStudent(ArrayList list){//System.out.println("查询学生");if (list.size() == 0){System.out.println("无学生信息,请在添加后查询!");return;}//当代码执行到这里就说明有学生对象for (int i = 0; i < list.size(); i++) {Student st = list.get(i);System.out.println(st.getId()+"\t"+st.getName()+"\t"+st.getAge()+"\t"+st.getAddress());}}//id唯一的判断public static boolean contains(ArrayList list, String id){
// //循环遍历集合
// for (int i = 0; i < list.size(); i++) {
// Student stu = list.get(i);
// String sid = stu.getId();
// if (sid.equals(id)){
// return true;
// }
// }
// return false;return getIndex(list,id) >= 0;}//查找学生的idpublic static int getIndex(ArrayList list, String id){//遍历集合,得到每个学生对象for (int i = 0; i < list.size(); i++) {Student stu = list.get(i);//得到每个学生idString sid = stu.getId();// 用集合中的id与要删除的id比较if (sid.equals(id)){// 如果id存在则返回索引return i;}}// 不存在返回-1return -1;}
}
在学生管理系统中添加登录界面,请见《登录界面》
欢迎小伙伴发表自己的意见,听说点赞加关注的人最帅。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
