目录
目录
1.实体类
2.学生管理系统的设计
3.查询学生信息
4.判断学生信息是否存在
5.添加学生信息
6.修改学生信息
7.删除学生信息
1.实体类
public class Student {
//在实体类中属性用private来修饰是为了封装和保护数据
private Integer id;
private String name;
private Integer age;
//无参构造方法
public Student(Integer id) {
this.id = id;
}
//带参构造方法
public Student(Integer id, String name, Integer age) {
this.id = id;
this.name = name;
this.age = age;
}
//每一个属性都有get方法set方法
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
//toString()方法是Java中的一个重要方法,它的作用是返回一个描述对象内容的字符串表示
@Override
public String toString() {
return "Student{" +
"id=" + id +
", name='" + name + '\'' +
", age=" + age +
'}';
}
}
2.学生管理系统的设计
//键盘输入
Scanner sc = new Scanner(System.in);
//创建一个集合用来保存Student对象
ArrayList<Student> list = new ArrayList<>();
//添加四条测试数据
list.add(new Student(1,"张三",19));
list.add(new Student(2,"李四",20));
list.add(new Student(3,"王五",19));
list.add(new Student(4,"赵六",21));
//对while取别名
lo:
//死循环
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("请你选择:");
//获取键盘输入的整形
int count = sc.nextInt();
//将键盘输入的整形与case相匹配
switch (count){
case 1:
//调用查询方法
query(list);
break;
case 2:
//调用添加方法
add(list);
break;
case 3:
//调用修改方法
update(list);
break;
case 4:
//调用删除方法
delete(list);
break;
case 5:
System.out.println("正在退出中....");
//若匹配到了5,则退出死循环
break lo;
}
}
3.查询学生信息
private static void query(ArrayList<Student> list){
//判断集合的长度,若长度等于0,则说明集合中无数据
if (list.size() == 0){
//在控制台打印提示信息
System.out.println("此系统暂无学生录入");
}else {
//遍历集合中的每一条数据,保存在Studen中,并打印在控制台上
for (int i = 0; i < list.size(); i++) {
Student student = list.get(i);
System.out.println(student.getId()+"\t"+student.getName()+"\t"+student.getAge());
}
}
}
4.判断学生信息是否存在
private static int GetStudent(ArrayList<Student> list,Integer id){
//遍历集合,并将每一条数据保存在Student中
for (int i = 0; i < list.size(); i++) {
Student student = list.get(i);
//若输入的id与student.getId()相等,则说明该学号已存在
if (student.getId() == id){
//返回i
return i;
}
}
//则说明则说明该学号不存在
return -1;
}
5.添加学生信息
private static void add(ArrayList<Student> list){
//键盘输入
Scanner sc = new Scanner(System.in);
//在控制台打印提示信息
System.out.println("请输入你的学号:");
//获取键盘输入的id
int id = sc.nextInt();
//调用GetStudent()方法并将返回值保存在getId中
int getId = test.GetStudent(list, id);
//判断getId是否为-1
if (getId == -1){
System.out.println("请你输入你的名字:");
String name = sc.next();
System.out.println("请你输入你的年龄:");
int age = sc.nextInt();
//调用集合的add()方法添加Student对象
list.add(new Student(id,name,age));
System.out.println("添加成功!!!");
}else {
//打印错误信息
System.out.println("此学号已存在");
}
}
6.修改学生信息
private static void update(ArrayList<Student> list){
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的学号:");
int id = sc.nextInt();
int GetId = test.GetStudent(list, id);
if (GetId != -1){
System.out.println("请输入你要修改的名字:");
String name = sc.next();
System.out.println("请输入你要修改的年龄:");
int age = sc.nextInt();
/*
*调用集合的set()方法修改学生信息
*因为集合的下标是从零开始的所以要-1
*/
list.set((id-1),new Student(id,name,age));
System.out.println("修改成功!!!");
}else {
System.out.println("该学生不存在!!!");
}
}
7.删除学生信息
private static void delete(ArrayList<Student> list){
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要删除的学号:");
int id = sc.nextInt();
int GetId = test.GetStudent(list, id);
if (GetId != -1){
//调用集合的remove()方法删除学生信息
list.remove((id-1));
System.out.println("删除成功!!!");
}else {
System.out.println("该学生不存在!!!");
}
}