简单的学生管理系统
代码如下:
package com.lsswudi; /* 学生类 Alt+Insert 根据自己的需要进行选择 */ 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; } 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; } }
package com.lsswudi; import java.util.ArrayList; import java.util.Scanner; public class StudentManager { /* 1,用输出语句完成主界面的编写 2,用Scanner实现键盘录入数据 3,用switch语句完成操作的选择 4,用循环完成再次回到主界面 */ public static void main(String[] args) { //创建集合对象,用于存储学生数据 ArrayList<Student> array = new ArrayList<Student>(); //用循环再次回到主界面 while (true) { //1,用输出语句完成主界面的编写 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("请输入你的选择"); //2,用Scanner实现键盘录入数据 Scanner sc = new Scanner(System.in); String line = sc.nextLine(); //3,用switch语句完成操作的选择 switch (line) { case "1": // System.out.println("添加学生"); addStudent(array); break; case "2": //System.out.println("删除学生"); deleteStudent(array); break; case "3": //System.out.println("修改学生"); updateStudent(array); break; case "4": //System.out.println("查看所有学生"); slectAllStudent(array); break; case "5": System.out.println("谢谢使用!"); // break; System.exit(0);//jvm退出 } } } //添加学生的方法 /* public static void addStudent(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.setAge(age); s.setAddress(address); //将学生对象添加到的集合中 array.add(s); //给出添加提示成功 System.out.println("添加学生成功"); } */ public static void addStudent(ArrayList<Student> array) { //键盘录入学生对象所需要的数据,显示提示信息,提示输入何种信息 Scanner sc = new Scanner(System.in); //为了让sid在while循环外面被访问到,把它定义在循环外 String sid; while(true) { System.out.println("请输入学号"); sid = sc.nextLine(); boolean b = isUsed(array, sid); if(b) { 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 void slectAllStudent(ArrayList<Student> array) { if (array.size() == 0) { System.out.println("无信息,请添加信息后查询"); //为了让程序不再往下执行,使用return,而不是System.exit(0); return; } //打印表头 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\t" + s.getName() + " " + s.getAge() + "岁\t\t" + s.getAddress()); } } //删除学生的方法 public static void deleteStudent(ArrayList<Student> array) { System.out.println("请输入要删除学生的学号:"); Scanner sc = new Scanner(System.in); String deletesid = sc.nextLine(); //遍历集合找出对应学号的学生对象进行删除 int index = -1; for (int i = 0; i < array.size(); i++) { Student s = array.get(i); if (deletesid.equals(s.getSid())) { index = i; break; } } if (index == -1) { System.out.println("该信息不存在,请重新输入"); } else { array.remove(index); //给出删除成功提示 System.out.println("删除学生成功"); } } //修改学生的方法 public static void updateStudent(ArrayList<Student> array) { System.out.println("请输入您要修改的学生的学号"); Scanner sc = new Scanner(System.in); String updatesid = sc.nextLine(); int index = -1; for (int i = 0; i < array.size(); i++) { Student s = array.get(i); if (updatesid.equals(s.getSid())) { System.out.println("请输入学生新姓名"); String name = sc.nextLine(); System.out.println("请输入学生新年龄"); String age = sc.nextLine(); System.out.println("请输入学生新居住地"); String address = sc.nextLine(); s.setName(name); s.setAge(age); s.setAddress(address); index = i; break; } } if (index == -1) { System.out.println("该信息不存在,请重新输入"); } else { 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(sid.equals(s.getSid())) { flag = true; break; } } return flag; } }