这是一个学生管理系统
分析步骤:
1.定义一个学生类
- 2.学生管理系统主界面的编写
- 3.学生管理系统的查看所有学生的信息
- 4.学生管理系统的添加学生信息
- 5.学生管理系统的删除学生信息
- 6.学生管理系统的修改学生信息
新建一个学生实体类
package Test10_Demo.StudentManager06;/*@create 2020--11--26--9:31*//*** 学生的实体类*/public class Student {//属性private String id;private String name;private String age;private String address;public Student(){}public Student(String id,String name ,String 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 String getAge() {return age;}public void setAge(String age) {this.age = age;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}}
实现学生管理系统:
package Test10_Demo.StudentManager06;/*@create 2020--11--26--9:28*/import java.util.ArrayList;import java.util.Scanner;/*** 这是一个学生管理系统** 分析步骤:* 1.定义一个学生类* 2.学生管理系统主界面的编写* 3.学生管理系统的查看所有学生的信息* 4.学生管理系统的添加学生信息* 5.学生管理系统的删除学生信息* 6.学生管理系统的修改学生信息*/public class StudentManagerTest {public static void main(String[] args) {//定义一个学生类型的集合ArrayList<Student> array = new ArrayList<>();//为了用户体验度,设计一个界面//利用循环的方法可以重复的展示界面,直到推出程序就结束循环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.退出学生管理系统");//键盘录入获取Scanner sc = new Scanner(System.in);String choiceString = sc.nextLine();//用开关键 - swtich...caseswitch (choiceString) {case "1"://查看所有学生findAllStudent(array);break;case "2"://添加学生信息addStudent(array);break;case "3":deleteStudent(array);//删除学生信息break;case "4":updateStudent(array);//修改学生信息break;default:System.out.println("谢谢你的使用");System.exit(0); //jvm中提供的退出程序break;}}}//封装一个方法用于查询学生的所有细腻public static void findAllStudent(ArrayList<Student> array){//首先判断集合中有没有数据,如果是空的,那就要给出提示,并且该方法就不需要执行了 - 非空判断if (array.size() == 0) {System.out.println("抱歉!目前没有任何的学生信息可以查询,请回去重新选择!");return; //将当前的方法直接结束}//有学生的情况下 - 遍历查询//\t 表示一个Tab键 - 制表符//\s 表示一个space键 - 空格System.out.println("学号\t姓名\t年龄\t居住地");for (int i = 0; i <array.size() ; i++) {Student s = array.get(i);//输出属性System.out.println(s.getId()+"\t " +s.getName() + "\t " +s.getAge() + "\t " +s.getAddress());}}public static void addStudent(ArrayList<Student> array) {//键盘对象Scanner sc = new Scanner(System.in);//所有的对学生的操作都是基于id,所以我们把id属性放到循环的外面String id;//能够实现重复添加学生的信息,所以使用循环while (true) {//判断一下这个学号是不是已经存在了System.out.println("请输入学号");id = sc.nextLine();boolean flag = false;//遍历学号 - 就是遍历数组for (int i = 0; i < array.size(); i++) {Student s = array.get(i);//获取学号if (s.getId().equals(id)) {flag = true;//学号存在break;}}//这个时候flag就是trueif (flag) {System.out.println("你输入的学号已经存在,请重新输入");} else {break;}}//通过上面的验证之后就可以添加学生了System.out.println("请输入学生姓名");String name = sc.nextLine();System.out.println("请输入学生年龄");String age = sc.nextLine();System.out.println("请输入学生居住地");String address = sc.nextLine();//创建学生对象Student s = new Student();//赋值s.setId(id);s.setName(name);s.setAge(age);s.setAddress(address);//把学生保存到集合中array.add(s);//给出一个提示System.out.println("添加学生成功!");}//封装以个方法用于删除学生public static void deleteStudent(ArrayList<Student> array){//思路:键盘录入一个id(唯一),到集合中查找,看看是否有学生,如果有,则删除//键盘录入Scanner sc = new Scanner(System.in);System.out.println("请输入你要删除的学生的学号:");String id = sc.nextLine();//遍历集合看看这个id所对应的学生是不是存在 - 设置一个索引int index = -1;for (int i = 0; i < array.size(); i++) {//获取每一个学生Student s = array.get(i);//判断这个学生的学号喝键盘录入的id进行比较if (s.getId().equals(id)) { //要删除的对象存在index = i;break;}}//判断if (index == -1) {System.out.println("抱歉!您要删除的学生不存在!请重新输入");} else {array.remove(index);System.out.println("删除成功!");}}//封装一个方法用于修改学生public static void updateStudent(ArrayList<Student> array){//思路:键盘录入一个id(唯一),到集合中查找,看看是否有学生,如果有,则删除//键盘录入Scanner sc = new Scanner(System.in);System.out.println("请输入你要删除的学生的学号:");String id = sc.nextLine();//遍历集合看看这个id所对应的学生是不是存在 - 设置一个索引int index = -1;for (int i = 0; i < array.size(); i++) {//获取每一个学生Student s = array.get(i);//判断这个学生的学号喝键盘录入的id进行比较if (s.getId().equals(id)) { //要删除的对象存在index = i;break;}}//判断if (index == -1) {System.out.println("抱歉!您要修改的学生不存在!请重新输入");} else {//修改的逻辑System.out.println("请输入学生的新的姓名:");String name = sc.nextLine();System.out.println("请输入学生的新的年龄:");String age = sc.nextLine();System.out.println("请输入学生的新的居住地:");String address = sc.nextLine();//创建一个新的对象Student s = new Student();s.setId(id);s.setName(name);s.setAge(age);s.setAddress(address);//修改集合中的学生对象 -- 实际上就是把原来的元素替换array.set(index, s);//index表示集合中元素的下表 s表示替换进去的对象//给出一个提示System.out.println("修改学生成功!");}}}
