17 学生管理系统
17.1 学生管理系统实现思路
17.2 学生类的定义
17.3 所有代码
Student.java
package studentManager; /* 学生类 */ public class Student { //学号 private String sid; //姓名 private String name; //年龄 private String age; //居住地 private String address; //构造函数 public Student(){} public Student(String sid, String name, String age, String address){ this.sid = sid; this.name = name; this.age = age; this.address = address; } //Alt + insert 可以快速生成这些东西 public String getSid() { return sid; } public void setSid(String sid) { this.sid = sid; } 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; } }
StudentManager.java
package studentManager; import java.util.ArrayList; import java.util.Scanner; public class StudentManager { public static void main(String[] args) { //创建集合对象,用于存储学生数据 ArrayList<Student> array = new ArrayList<Student>(); 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录入信息 Scanner sc = new Scanner(System.in); String line = sc.nextLine(); //用Switch语句完成选择 switch(line){ case "1": //System.out.println("添加学生"); addStudent(array); break; case "2": //System.out.println("删除学生"); delectStudent(array); break; case "3": //System.out.println("修改学生"); updateStudent(array); break; case "4": //System.out.println("查看所有学生"); findAllStudent(array); break; case "5": System.out.println("谢谢使用"); //break; System.exit(0); //JVM退出,即Java虚拟机退出 } } } //添加学生信息 public static void addStudent(ArrayList<Student> array){ Scanner sc = new Scanner(System.in); String sid; //这里需要全局 while(true) { System.out.println("请输入学生学号:"); sid = sc.nextLine(); boolean flag = isUsed(array, sid); if (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.setSid(sid); s.setName(name); s.setAge(age); s.setAddress(address); //添加到学生集合中 array.add(s); // System.out.println("添加学生成功!"); } //判断学号是否被使用 public static boolean isUsed(ArrayList<Student> array, String sid){ boolean flag = false; for(int i=0; i<array.size(); i++){ Student s = array.get(i); if(s.getSid().equals(sid)){ flag = true; break; } } return flag; } //查看学生信息 public static void findAllStudent(ArrayList<Student> array){ //判断集合中是否有数据 if(array.size()==0){ System.out.println("无信息,请先添加信息再查询!"); return; } //显示表头信息 // \t:tab键的意思 System.out.println("学号\t姓名\t年龄\t\t居住地"); //显示 for (int i=0; i< array.size(); i++){ Student s = array.get(i); System.out.println(s.getSid() + "\t" + s.getName() + "\t" + s.getAge() + "岁\t" + s.getAddress()); } } //删除学生信息 public static void delectStudent(ArrayList<Student> array){ Scanner sc = new Scanner(System.in); System.out.println("请输入你要删除的学生的学号:"); String sid = sc.nextLine(); int index = -1; //遍历 for(int i=0; i< array.size(); i++){ Student s = array.get(i); if (s.getSid().equals(sid)){ index = i; array.remove(i); break; } } if (index==-1){ System.out.println("该信息不存在!"); } else{ System.out.println("删除学生成功!"); } } //修改学生信息 public static void updateStudent(ArrayList<Student> array){ Scanner sc = new Scanner(System.in); System.out.println("请输入你要修改的学生的学号:"); String sid = sc.nextLine(); //键盘录入要修改的学生信息 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.setSid(sid); s.setName(name); s.setName(age); s.setAddress(address); //遍历信息,进行修改 for(int i=0; i< array.size(); i++){ Student student = array.get(i); if(student.getSid().equals(sid)){ array.set(i,s); break; } } //提示修改成功 System.out.println("修改信息成功!"); } }
本博客对应黑马的第140到149个视频,视频链接在博客最上面!可以看着视频学习。
学生信息管理系统是每种语言入门做的第一个小程序,这里就不详细介绍,也可在此基础上继续完善开发系统。