本文共 8114 字,大约阅读时间需要 27 分钟。
实现一个简易的学生管理系统,包含主菜单,增加学生,修改学生,删除学生,查看所有学生和退出功能:
主菜单:
添加学生: 查询所有: 修改学生: 删除学生:/* 1.定义一个Student学生类(属性:编号,姓名,年龄,性别) */public class Student { //编号 private int id; //姓名 private String name; //年龄 private int age; //性别 private String sex; public Student() { } public Student(int id, String name, int age, String sex) { this.id = id; this.name = name; this.age = age; this.sex = sex; } 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 getSex() { return sex; } public void setSex(String sex) { this.sex = sex; }}
public static void main(String[] args) { //2.定义一个存储Student对象的ArrayList集合 ArrayListlist = new ArrayList<>(); //3.定义一个Scanner对象 Scanner sc = new Scanner(System.in); //4.定义一个死循环,让功能重复执行 while (true){ //5.在死循环中打印功能菜单 System.out.println("******************************************************"); System.out.println(" 欢迎使用学员管理系统 "); System.out.println("-------------------------------------------------------"); System.out.println("1.添加 2.修改 3.删除 4.查询所有 5.退出"); System.out.println("-------------------------------------------------------"); System.out.println("请选择您要执行的功能:"); //6.获取用户输入的功能选项 int choose = sc.nextInt(); //7.根据用户输入的功能选项,选择对应的功能(switch语句) switch (choose){ case 1: //1.添加学员 addStudent(list,sc); break; case 2: //2.修改学员 updateStudent(list,sc); break; case 3: //3.删除学员 deleteStudent(list,sc); break; case 4: //4.查询所有学员 selectAllStudent(list); break; case 5: //5.退出 System.out.println("欢迎下次使用,再见!"); System.exit(0);//终止当前正在执行的java虚拟机 default: System.out.println("您输入的功能选项不存在,请重新输入!"); break; } } }
1.获取用户输入的学员信息(姓名,年龄,性别)
2.判断集合的长度是否为0;
是0:则添加的学员为第一个,编号为1 不是0:获取最后一个学员的编号,把编号+1,作为新学员的编号
3.创建Student对象,封装学员信息
4.把Student对象添加到集合中
5.提示"【成功】数据已经被保存!"
方法的参数:
ArrayList<Student> list
:执行增删改查的集合对象
Scanner sc
:获取用输入的数据(不用在每个方法中都创建一个Scanner对象) public static void addStudent(ArrayListlist, Scanner sc) { System.out.println("---------------------------欢迎使用添加学员的方法----------------------------"); //1.获取用户输入的学员信息(姓名,年龄,性别) System.out.println("请输入学员的信息"); System.out.println("姓名:"); String name = sc.next(); System.out.println("年龄:"); int age = sc.nextInt(); System.out.println("性别:"); String sex = sc.next(); //2.判断集合的长度是否为0; int id; if(list.size()==0){ //是0:则添加的学员为第一个,编号为1 id = 1; }else{ //不是0:获取最后一个学员的编号,把编号+1,作为新学员的编号 id = list.get(list.size()-1).getId()+1; } //3.创建Student对象,封装学员信息 Student stu = new Student(id,name,age,sex); //4.把Student对象添加到集合中 list.add(stu); //5.提示"【成功】数据已经被保存!" System.out.println("【成功】数据已经被保存!");}
public static void selectAllStudent(ArrayListlist) { System.out.println("-------------------------欢迎使用查询所有学员的方法--------------------------"); //1.对集合的长度进行判断 if(list.size()==0){ //长度是0:提示"【暂无学员信息,请添加后在尝试】" System.out.println("【暂无学员信息,请添加后在尝试】"); }else{ //长度不是0:遍历存储学员的ArrayList集合,获取每一个Student对象,打印Student对象的属性值 System.out.println("编号\t姓名\t年龄\t性别"); for (int i = 0; i < list.size(); i++) { Student s = list.get(i); System.out.println(s.getId()+"\t\t"+s.getName()+"\t"+s.getAge()+"\t\t"+s.getSex()); } } System.out.println("------------------------------------------------------------------------------");}
public static void updateStudent(ArrayListlist, Scanner sc) { System.out.println("---------------------------欢迎使用修改学员的方法----------------------------"); //1.获取用户输入的要修改的学员id System.out.println("请输入要修改的学员id:"); int id = sc.nextInt(); //2.遍历集合获取每一个学员Student对象 for (int i = 0; i < list.size(); i++) { Student s = list.get(i); //3.使用用输入的id和遍历得到的id进行比较 if(id==s.getId()){ //4.id相同,有要修改的学员,打印学员信息 System.out.println("您要修改的学员信息为:"); System.out.println(s.getId()+"\t\t"+s.getName()+"\t"+s.getAge()+"\t\t"+s.getSex()); //5.获取用输入的新的学员信息(姓名,年龄,性别[保留原值输入0]) System.out.println("请输入新的学员信息[保留原值输入0]:"); System.out.println("姓名:"); String name = sc.next(); System.out.println("年龄:"); int age = sc.nextInt(); System.out.println("性别:"); String sex = sc.next(); //6.判断用户输入的是否为0,不是0,替换学员的信息 if(!"0".equals(name)){ s.setName(name); } if(age!=0){ s.setAge(age); } if(!"0".equals(sex)){ s.setSex(sex); } //7.提示用户【成功】数据已经被修改! System.out.println("【成功】数据已经被修改!"); //8.结束修改学员的方法 return; return; } } //9.遍历结束了,还没有找到对应的学员,提示错误信息"【错误】id是"+id+"的学员没找到!" System.out.println("【错误】id是"+id+"的学员没找到!");}
private static void deleteStudent(ArrayListlist, Scanner sc) { System.out.println("---------------------------欢迎使用删除学员的方法----------------------------"); //1.获取用户输入的要删除的学员id System.out.println("请输入您要删除学员的id:"); int id = sc.nextInt(); //2.遍历集合获取每一个学员Student对象 for (int i = 0; i < list.size(); i++) { Student s = list.get(i); //3.使用用输入的id和遍历得到的id进行比较 if(id==s.getId()){ //4.id相同,有要删除的学员,打印学员信息 System.out.println("您要删除的学员信息为:"); System.out.println(s.getId()+"\t\t"+s.getName()+"\t"+s.getAge()+"\t\t"+s.getSex()); //5.输出"您确定要删除这条记录吗?(y|n)" System.out.println("您确定要删除这条记录吗?(y|n)"); //6.获取用户输入的y或者n String yAndN = sc.next(); //7.判断用户输入的是y:删除学员,提示"【成功】数据已经被删除" reutrn if("y".equalsIgnoreCase(yAndN)){ //list.remove(s);//根据对象删除 list.remove(i);//根据索引删除 System.out.println("【成功】数据已经被删除"); return;//结束方法 }else{ //用户输入的不是y: 提示:"【取消】操作被取消" 取消删除操作 return System.out.println("【取消】操作被取消"); return;//结束方法 } } } //8.遍历结束了,还没有找到对应的学员,提示错误信息"【错误】id是"+id+"的学员没找到!" System.out.println("【错误】id是"+id+"的学员没找到!");}
至此简易的学生管理系统就做完了,Java初级入门的学习也告一段落。
希望整理的东西能对大家有所帮助,未来一起进步!
我们Java进阶再见!转载地址:http://jdwei.baihongyu.com/