java面向对象之学生信息管理系统
作者:喜欢夜雨吗
这篇文章主要为大家详细介绍了java面向对象之学生信息管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
通过学习的一系列知识点综合的小案例,通过控制台来完成一系列的增删查改的操作。
准备工作
开发工具IDEA2019.1.4,jdk13
思路
一共三个类,一个接口
- Student类:封装数据
- StudentManager类:用于管理增删查改等方法体
- StudentView类:用于主界面的视图
- StudentInterface接口:用于编写抽象方法体,用于继承
存放学生数据用我们学过的ArrayList,由于类是一种引用数据类型,所以我们可以将泛型指代成Student
编写逻辑
业务层调用逻辑层,逻辑层调用数据层
知识点
面向对象,ArrayList,泛型,循环,迭代,switch
具体代码实现
Student.java
package com.zxy.bean; public class Student { private int id; private String name; private int age; private String addr; public Student(){ // 无参构造方法,防止出错 } public Student(int id,String name,int age,String addr){ this.id=id; this.name=name; this.age=age; this.addr=addr; } 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 getAddr() { return addr; } public void setAddr(String addr) { this.addr = addr; } @Override public String toString() { return "{ID: "+this.id+",name: "+this.name+",age: "+this.age+",addr: "+this.addr+"}"; } }
StudentManager.java
package com.zxy.bean; import java.util.ArrayList; import java.util.Scanner; public class StudentManager implements StudentInterface { @Override public void addStudent(ArrayList<Student> list) { Scanner sc=new Scanner(System.in); System.out.println("请输入学号:"); int id=sc.nextInt(); System.out.println("请输入姓名:"); String name=sc.next(); System.out.println("请输入年龄:"); int age=sc.nextInt(); System.out.println("请输入地址:"); String addr=sc.next(); list.add(new Student(id,name,age,addr)); System.out.println("添加完成"); } @Override public void delStudent(ArrayList<Student> list) { // 首先删除之前还是要判断一下有没有信息 Scanner sc=new Scanner(System.in); if (list.size()==0){ // 如果为0,则说明list中没有学生信息 System.out.println("没有学生信息"); return; } findStudent(list); System.out.println("输入要删除的学号:"); // 输入要删除的学号 int id=sc.nextInt(); // 判断要删除的id是不是在list中 for (int i=0;i<list.size();i++){ if (list.get(i).getId()==id){ Object string = list.remove(i); System.out.println("删除成功,你删除的是:"+string); } } } @Override public void findStudent(ArrayList<Student> list) { if (list.size()==0){ System.out.println("没有学生信息"); } // 查询全部学生信息 for (Student student:list){ System.out.println(student.toString()); System.out.println("信息已展示"); } return; } @Override public void changeStudent(ArrayList<Student> list) { // 修改学生信息 Scanner sc=new Scanner(System.in); if (list.size()==0){ System.out.println("当前没有学生信息"); return;// 这样会直接终止当前语句,不会执行下面的语句了 } System.out.println("输入要修改的学生的学号:"); int id=sc.nextInt(); // 判断id是否在list中,如果在,就修改 boolean flag=false;// 如果boolean为false,那么说明没有在这个人 for (int i=0;i<list.size();i++){ if (list.get(i).getId()==id){ // 如果存在,就输入新的学号、姓名、年龄、地址 System.out.println("输入新的学号:"); int idNew=sc.nextInt(); System.out.println("输入新的姓名:"); String nameNew=sc.next(); System.out.println("输入新的年龄:"); int ageNew=sc.nextInt(); System.out.println("输入新的地址:"); String addrNew=sc.next(); list.set(i,new Student(idNew,nameNew,ageNew,addrNew)); System.out.println("修改成功"); return; } } if (flag==false){ System.out.println("没有找到该学生呢,亲"); } } @Override public void findOnlyStudent(ArrayList<Student> list) { Scanner sc=new Scanner(System.in); System.out.println("输入要查找的学生id:"); int id=sc.nextInt(); for (Student stu:list){ if (stu.getId()==id){ System.out.println(stu.toString()); }else { System.out.println("你输入的id不存在"); return; } } } }
StudentView.java
package com.zxy.bean; import java.util.ArrayList; import java.util.Scanner; public class StudentView { public static void main(String[] args) { menu(); } // 封装一个主菜单的方法 public static void menu(){ // 数组保存学生信息,类型使用Student类型 ArrayList<Student> list=new ArrayList<>(); StudentManager stu=new StudentManager(); boolean flag=true; while (flag){ 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("******* 6.退出 *********"); System.out.println("**********************************"); System.out.println("请输入您要操作的序号: "); // 序号选择 int choice=new Scanner(System.in).nextInt(); switch (choice){ case 1: // 查询学生 stu.findStudent(list); break; case 2: // 查询单个学生 stu.findOnlyStudent(list); break; case 3: // 添加学生 stu.addStudent(list); break; case 4: // 修改学生 stu.changeStudent(list); break; case 5: // 删除学生 stu.delStudent(list); break; case 6: // 退出程序 flag=false; System.out.println("程序退出成功,欢迎下次使用"); break; } } } }
StudentInterface.java
package com.zxy.bean; import java.util.ArrayList; public interface StudentInterface { void addStudent(ArrayList<Student> list); void delStudent(ArrayList<Student> list); void findStudent(ArrayList<Student> list); void changeStudent(ArrayList<Student> list); void findOnlyStudent(ArrayList<Student> list); }
运行截图
关于管理系统的更多内容请点击《管理系统专题》进行学习
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。