文章目录
一、主界面展示二、学生类三、系统功能方法3.1 main()方法3.2 添加学生信息3.3 删除学生信息3.4 修改学生信息3.5 查看所有学生信息 四、完整代码4.1 Student .Java4.2 StudentManger.Java
前言:本案例在实现时使用了Java语言中的ArrayList集合来储存数据。我把整个项目分成了Student .Java、StudentManger.Java 两个部分,实现了简单的学生信息管理系统。文章先分部讲解代码,最后附上完整的项目代码。
一、主界面展示
二、学生类
我们首先创建学生类和构造方法:
成员变量:学号(sid)、姓名(name)、年龄(age)、居住地(address)。构造方法:无参构造和带四个参数的构造。成员方法:每个成员变量对应给出get/set方法。public class Student { //学号 private String sid; //姓名 private String name; //年龄 private String age; //地址 private String 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; }}
三、系统功能方法
3.1 main()方法
思路:
用输出语句完成主界面编写。用Scanner实现键盘录入数据。用switch语句完成操作的选择。用循环完成再次回到主界面。 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": addStudent(array); break; case "2": deleteStudent(array); break; case "3": updateStudent(array); break; case "4": finalAllStudent(array); break; case "5": System.out.println("已退出,谢谢使用"); System.exit(0); //退出虚拟机 } } }
3.2 添加学生信息
思路:
显示提示信息,提示要输入何种信息。键盘录入学生对象所需要的数据。创建学生对象,把键盘录入的数据赋值给学生对象的成员变量。将学生对象添加到集合中(保存)。给出添加成功提示。注意:学生信息中姓名最好为3个字、年龄最好为2位数。如:赵四四 20。
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("添加学生成功"); }
3.3 删除学生信息
思路:
显示提示信息。键盘录入要删除的学生学号。遍历集合将对应学生对象从集合中删除。给出删除成功提示。 public static void deleteStudent(ArrayList<Student> array){ Scanner sc=new Scanner(System.in); System.out.println("请输入你要删除的学生的学号:"); String sid=sc.nextLine(); //遍历集合将对应的学生对象从集合中删除 for(int i=0; i< array.size(); i++){ Student s=array.get(i); if(s.getSid().equals(sid)){ array.remove(i); break; } } System.out.println("删除该学生信息成功"); }
3.4 修改学生信息
思路:
显示提示信息。键盘录入要修改的学生学号。键盘录入要修改的学生信息。遍历集合修改对应的学生信息。给出修改成功提示。 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.setAge(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); //把修改后的student s赋值给i的位置 break; } } //给出修改成功提示 System.out.println("修改学生信息成功"); }}
3.5 查看所有学生信息
思路:
显示表头信息。将集合中的数据取出按照对应格式显示学生信息,年龄显示补充“ 岁 ”。 public static void finalAllStudent(ArrayList<Student> array){ //判断集合是否有数据,如果没有显示提示信息 if(array.size()==0){ System.out.println("无信息,请先添加信息再查询"); //为了让程序不再往下执行 return; } //显示表头信息 System.out.println("学号\t\t\t姓名\t\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()+"\t\t"+s.getAge()+"岁\t"+s.getAddress()); } }
四、完整代码
4.1 Student .Java
public class Student { //学号 private String sid; //姓名 private String name; //年龄 private String age; //地址 private String 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; }}
4.2 StudentManger.Java
package mypackage;import java.util.ArrayList;import java.util.Scanner;public class StudentManger { 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": addStudent(array); break; case "2": deleteStudent(array); break; case "3": updateStudent(array); break; case "4": finalAllStudent(array); break; case "5": System.out.println("已退出,谢谢使用"); System.exit(0); //退出虚拟机 } } } //定义添加学生信息的方法 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 finalAllStudent(ArrayList<Student> array){ //判断集合是否有数据,如果没有显示提示信息 if(array.size()==0){ System.out.println("无信息,请先添加信息再查询"); //为了让程序不再往下执行 return; } //显示表头信息 System.out.println("学号\t\t\t姓名\t\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()+"\t\t"+s.getAge()+"岁\t"+s.getAddress()); } } //定义删除学生信息的方法 public static void deleteStudent(ArrayList<Student> array){ Scanner sc=new Scanner(System.in); System.out.println("请输入你要删除的学生的学号:"); String sid=sc.nextLine(); //遍历集合将对应的学生对象从集合中删除 for(int i=0; i< array.size(); i++){ Student s=array.get(i); if(s.getSid().equals(sid)){ array.remove(i); break; } } 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.setAge(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); //把修改后的student s赋值给i的位置 break; } } //给出修改成功提示 System.out.println("修改学生信息成功"); }}