学生类: 学生基本类封装(private修饰成员变量,有参无参构造方法,成员变量的Set和Get方法)
public classStudent {privateString sid;privateString name;privateString age;privateString address;publicStudent() {
}publicStudent(String sid, String name, String age, String address) {this.sid =sid;this.name =name;this.age =age;this.address =address;
}publicString getSid() {returnsid;
}public voidsetSid(String sid) {this.sid =sid;
}publicString getName() {returnname;
}public voidsetName(String name) {this.name =name;
}publicString getAge() {returnage;
}public voidsetAge(String age) {this.age =age;
}publicString getAddress() {returnaddress;
}public voidsetAddress(String address) {this.address =address;
}
}
测试类: 对学生类的基本操作 增删改查
1 importjava.util.ArrayList;2 importjava.util.Scanner;3
4 public classStudentManger {5 public static voidmain(String[] args) {6 ArrayList array = new ArrayList();7 while (true) { //文字页面
8 System.out.println("--------欢迎来到学生管理系统--------");9 System.out.println("1 添加学生");10 System.out.println("2 删除学生");11 System.out.println("3 修改学生");12 System.out.println("4 查看所有学生");13 System.out.println("5 退出");14 System.out.println("请输入您的选择");15 Scanner scanner = newScanner(System.in);16 String line =scanner.nextLine();17 //循环判断switch(line)对键盘输入结果进行判断
18 switch(line) {19 case "1":20 System.out.println("添加学生");21 addStudent(array);22 break;23 case "2":24 System.out.println("删除学生");25 deletStudent(array);26 break;27 case "3":28 System.out.println("修改学生");29 updateStudent(array);30 break;31 case "4":32 System.out.println("查看所有学生");33 findAllStudent(array);34 break;35 case "5":36 System.out.println("谢谢使用");37 System.exit(0);38 }39 }40
41 }42
43 //添加学生
44 private static void addStudent(ArrayListarray) {45 Scanner sc = newScanner(System.in);46 String sid;47 //对输入学号进行判断,若使用过,重新输入
48 while (true) {49 System.out.println("请输入学生学号:");50 sid =sc.nextLine();51 //布尔类型,调用isUsed方法进行判断
52 boolean flag =isUsed(array, sid);53 if(flag) {54 System.out.println("你输入的学号已经被使用,请重新输入");55 } else{56 break;57 }58 }59 System.out.println("请输入学生姓名: ");60 String name =sc.nextLine();61 System.out.println("请输入学生年龄: ");62 String age =sc.nextLine();63 System.out.println("请输入学生居住地: ");64 String address =sc.nextLine();65 //创建新的学生对象,用来存储以上信息
66 Student s = newStudent();67 //调用set方法进行传值
68 s.setSid(sid);69 s.setName(name);70 s.setAge(age);71 s.setAddress(address);72 //将对象信息添加到集合中
73 array.add(s);74 System.out.println("添加学生成功");75
76 }77
78 //定义一个方法,判断学号是否被使用
79 public static boolean isUsed(ArrayListarray, String sid) {80 //如果与集合中的某一个学生学号相同,返回true;如果都不相同,返回false
81 boolean flag = false;82 //循环遍历,
83 for (int i = 0; i < array.size(); i++) {84 //取出数组中的值进行判断,用equals方法进行判断
85 Student s =array.get(i);86 if(s.getSid().equals(sid)) {87 flag = true;88 break;89 }90 }91 returnflag;92 }93
94 //查看学生
95 private static void findAllStudent(ArrayListarray) {96 //判断集合是否有信息
97 if (array.size() == 0) {98 System.out.println("无信息,请先添加信息再查询");99 return; //为了程序不在执行,直接返回,不向下运行
100 }101 System.out.println("学号\t\t\t姓名\t\t年龄\t\t居住地");102 //循环遍历2,打印输出
103 for (int i = 0; i < array.size(); i++) {104 //创建学生对象,从集合中拿到学生的信息给到学生对象
105 Student s =array.get(i);106 //打印输出,调用get方法
107 System.out.println(s.getSid() + "\t\t\t" + s.getName() + "\t\t" + s.getAge() + "岁\t\t" +s.getAddress());108
109 }110
111 }112
113 //删除学生
114 private static void deletStudent(ArrayListarray) {115 Scanner scanner = newScanner(System.in);116 System.out.println("请输入你要删除的学生的学号:");117 String sid =scanner.nextLine();118 //在删除/修改学生操作前,对学号是否存在进行判断119 //如果不存在,显示提示信息120 //如果存在,执行删除/修改操作
121 int index = -1; //定义一个变量,用来传值122 //循环遍历
123 for (int i = 0; i < array.size(); i++) {124 //创建学生对象,从集合中拿到学生的信息给到学生对象
125 Student s =array.get(i);126 //将输入结果sid和学生对象的四点通过eauals方法进行判断
127 if(s.getSid().equals(sid)) {128 //如果相等,将i值赋给index
129 index =i;130 break;131 }132 }133 //进行判断,如果变量值为-1.该信息不存在,请重新输入
134 if (index == -1) {135 System.out.println("该信息不存在,请重新输入");136 } else{137 //调用数组对象的remove删除方法,对上面循环传出来的index变量进行删除
138 array.remove(index);139 System.out.println("删除学生成功");140 }141 }142
143 //修改学生
144 private static void updateStudent(ArrayListarray) {145 //键盘录入要修改的学生学号,显示提示信息
146 Scanner sc = newScanner(System.in);147 System.out.println("请输入你要修改的学生的学号:");148 //定义变量名sid,
149 String sid;150 //while循环进行判断判断条件是true
151 while (true) {152 //将键盘输入的值给到变量sid
153 sid =sc.nextLine();154 //调用isUsed方法,对数组中的sid和输入的sid进行判断
155 if(isUsed(array, sid)) {156 //如果返回结果是true,直接返回,反之提示你输入的学号不存在,请重新输入157 //直到输入正确的sid
158 break;159 } else{160 System.out.println("你输入的学号不存在,请重新输入");161 }162 }163 //键盘录入要修改的学生信息
164 System.out.println("请输入学生新姓名:");165 String name =sc.nextLine();166 System.out.println("请输入学生新年龄:");167 String age =sc.nextLine();168 System.out.println("请输入学生新居住地:");169 String address =sc.nextLine();170
171 //创建学生对象
172 Student s = newStudent();173 s.setSid(sid);174 s.setName(name);175 s.setAge(age);176 s.setAddress(address);177
178 //遍历集合修改对应的学生信息
179 for (int i = 0; i < array.size(); i++) {180 Student student =array.get(i);181 if(student.getSid().equals(sid)) {182 array.set(i, s);183 break;184 }185 }186 //给出修改成功提示
187 System.out.println("修改学生成功");188 }189 }
实现思路
一,学生管理系统——学生类
1. 定义学生类,包含以下成员变量
private String sid // 学生id
private String name // 学生姓名
private String age // 学生年龄
private String address // 学生所在地
二,学生管理系统——操作页面
1.实现方试——文字页面
用输出语句完成主界面的编写
1.2 用Scanner实现键盘输入
1.3 用switch语句完成选择的功能
1.4 用循环完成功能结束后再次回到主界面
三,管理系统的功能——定义不同方法,然后调用方法实现功能
学生管理系统的添加学生功能实现步骤
1 定义一个方法,接收ArrayList集合 3.2 方法内完成添加学生的功能
①键盘录入学生信息
②根据录入的信息创建学生对象
③将学生对象添加到集合中
④提示添加成功信息 3.3 在添加学生的选项里调用添加学生的方法
学生管理系统的查看学生功能实现步骤
1 定义一个方法,接收ArrayList集合
2 方法内遍历集合,将学生信息进行输出
3 在查看所有学生选项里调用查看学生方法
学生管理系统的删除学生功能实现步骤
1 定义一个方法,接收ArrayList集合
2 方法中接收要删除学生的学号
3 遍历集合,获取每个学生对象
4 使用学生对象的学号和录入的要删除的学号进行比较,如果相同,则将当前学生对象从集合中删除
5 在删除学生选项里调用删除学生的方法
学生管理系统的修改学生功能实现步骤
1 定义一个方法,接收ArrayList集合
2 方法中接收要修改学生的学号
3 通过键盘录入学生对象所需的信息,并创建对象
4 遍历集合,获取每一个学生对象。并和录入的修改学生学号进行比较.如果相同,则使用新学生对象替换当前学生对象
5 在修改学生选项里调用修改学生的方法
退出系统
使用System.exit(0);退出JVM