通过ArrayList进行学生管理系统,主要的功能有添加学生,删除学生,修改学生,展示所有考生以及退出的功能。
首先进行学生类的创建,主要定义了学生的学号,姓名,年龄三个属性,然后生成构造函数,及get,set方法。
public class Student {
private String strid;
private String name;
private String age;
public Student() {
}
public Student(String strid, String name, String age) {
this.strid = strid;
this.name = name;
this.age = age;
}
public void setStrid(String strid){
this.strid = strid;
}
public String getStrid(){
return strid;
}
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
public void setAge(String age){
this.age = age;
}
public String getAge(){
return age;
}
}
剩下的就是各个功能模块的完成,第一部分,添加学生,通过键盘输入,获取学生的信息,然后通过ArrayList的add方法将学生加入到列表中
public static void AddStudent(ArrayList<Student> array){
Student s = new Student();
Scanner sc = new Scanner(System.in);
System.out.println("请输入学号");
s.setStrid(sc.nextLine());
System.out.println("请输入姓名");
s.setName(sc.nextLine());
System.out.println("请输入年龄");
s.setAge(sc.nextLine());
array.add(s);
System.out.println("添加成功");
}
接下来,完成删除学生的功能,首先先判断输入的学号是否存在,学号存在的话,通过遍历找到这个学号的学生信息下标,然后通过remove方法,将学生进行删除
public static void deleteStu(ArrayList<Student> array){
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要删除的学生学号");
String line = sc.nextLine();
int num = -1;
for(int i=0; i<array.size();i++){
Student s = array.get(i);
if(s.getStrid().equals(line)){
num = i;
break;
}
}
if(num == -1){
System.out.println("删除失败,未找到学号为"+line+"的学生");
}else{
array.remove(num);
System.out.println("删除成功");
}
}
修改学生的功能和删除有些类似,都是先判断这个学号是否存在,存在的话通过set方法进行修改
public static void changeStu(ArrayList<Student> array){
Scanner sc = new Scanner(System.in);
System.out.println("请输入要修改学生的学号");
String line = sc.nextLine();
int num = -1;
for(int i=0; i<array.size();i++){
Student s = array.get(i);
if(s.getStrid().equals(line)){
num = i;
break;
}
}
if(num == -1){
System.out.println("修改失败,未找到学号为"+line+"的学生");
return;
}else{
Student s = new Student();
s.setStrid(line);
System.out.println("请输入学生新姓名");
s.setName(sc.nextLine());
System.out.println("请输入学员新年龄");
s.setAge(sc.nextLine());
array.set(num,s);
System.out.println("修改成功");
}
}
展示考生,实际上就是通过遍历ArrayList将学员信息进行打印
public static void showStudent(ArrayList<Student> array){
if(array.size() ==0){
System.out.println("无信息,请先添加信息再查询");
return;
}
//显示表头信息
System.out.println("学号\t姓名\t年龄");
for(int i=0; i<array.size(); i++){
Student s = array.get(i);
System.out.println(s.getStrid() + "\t" + s.getName() + "\t" + s.getAge() + "岁");
}
}
剩下的就是主方法,定义ArrayList对象,然后通过循环选择界面以及根据选择(switch)进行各功能的操作
public static void main(String[] args) {
ArrayList<Student> array = new ArrayList<Student>();
Scanner sc = new Scanner(System.in);
while (true) {
show();
int check = sc.nextInt();
switch (check) {
case 1:
AddStudent(array);
break;
case 2:
deleteStu(array);
break;
case 3:
changeStu(array);
break;
case 4:
showStudent(array);
break;
case 5:
System.out.println("欢迎使用");
System.exit(0);
default:
System.out.println("您的输入有误");
break;
}
}
}
public static void show() {
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("请输入你的选择:");
}