我是靠谱客的博主 阳光砖头,最近开发中收集的这篇文章主要介绍ArrayList学生管理系统的基本实现,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

需求:

编写一个学生管理系统,可以实现对学生的信息录入,删除,修改和查看;

使用 ArrayList可以将每个学生对象保存在里面。然后在集合中实现。

图纸类:

创建图纸类用对学生对象的创建,标准格式,定义成员变量,有参无参构造,get set方法。

public class Student
{
private String sid ;//学号
private String name ;//姓名
private int age ;//年龄
private String birthday ;//生日
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 int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
public Student(String sid, String name, int age, String birthday) {
this.sid = sid;
this.name = name;
this.age = age;
this.birthday = birthday;
}
public Student() {
}
}

项目测试类:

实现操作:

import java.util.ArrayList;
import java.util.Scanner;
public class StudentTest01 {
public static void main(String[] args) {
//创建键盘录入对象
Scanner sc = new Scanner(System.in);
//创建一个集合,保存数据
ArrayList<Student> list = new ArrayList<>();
//因为不清楚用户需要使用的次数,使用无限循环实现
po:
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("请输入您的选择:");
String po = sc.next();
switch (po) {
case "1":
addStudent(list);
//方法实现添加学生
break;
case "2":
delete(list);
//方法实现删除学生
break;
case "3":
revise(list);
//方法实现修改学生
break;
case "4":
seeStudenyt(list);
//方法实现查看学生
break;
case "5":
System.out.println("系统已退出,欢迎再次使用");
break po;
//结束po编号内的代码
default:
System.out.println("您的输入有误,请重新输入");
}
}
}
}

 核心方法:

1.索引查找方法

这个方法需要我们传入一个集合和String类型的学号,用来判断在集合中是否存在相同学号,如果相同,我们就把该学生对象集合索引返回给它,所以需要返回一个int类型的值。


//判断学号是否存在,存在返回索引,不存在返回-1
public static int judge(ArrayList<Student> list, String sid) {
//定义一个索引变量进行接收
int index = -1;
//遍历集合,得到每一个学生的学号进行比对
for (int i = 0; i < list.size(); i++) {
//通过gei方法得到一个学生对象,并临时保存为temp
Student temp = list.get(i);
//得到的是一个学生对象,所以需要get调用方法,查看id
String tempsid = temp.getSid();
//判断现在得到的学号,和我们传入的学号是样一样,使用equals方法
if (tempsid.equals(sid)) {
index = i;
//相差我们就记录正确的索引位置
}
}
return index;
//返回索引
}

2、添加学生的方法

该方法用于在集合中直接添加对象,因此不需要返回值,集合会在方法内完成添加。

 //添加学生方法,键盘录入+添加集合
public static void addStudent(ArrayList<Student> list) {
//创建键盘录入对象
Scanner sc = new Scanner(System.in);
//创建学生对象
Student stu1 = new Student();
//循环目的,如果输入重复学号,则继续输入
while (true) {
System.out.println("请输入学号");
String sid = sc.next();
//索引为-1,表示不存在,可以添加
if (judge(list, sid) == -1) {
//在stu1学生对象中记录信息
stu1.setSid(sid);
System.out.println("请输入姓名");
stu1.setName(sc.next());
System.out.println("请输入年龄");
stu1.setAge(sc.nextInt());
System.out.println("请输入生日");
stu1.setBirthday(sc.next());
System.out.println("学生信息已添加成功");
break;
} else {
System.out.println("学生信息已存在");
}
}
//添加学生对象进入集合
list.add(stu1);
}

3、删除学生方法

我们已经有了一个索引查找方法,所以我们可以直接调用索引方法,通过学号信息进行删除,同样是在集合中进行,不需要返回值。


public static void delete(ArrayList<Student> list) {
//创建键盘录入对象
Scanner sc = new Scanner(System.in);
System.out.println("请输入需要删除的学生学号");
String sid = sc.next();
//调用刚才的方法查找学号
int index = judge(list, sid);
//索引为-1,表示没有接收到正确索引,所以无法删除
if (index == -1) {
System.out.println("您输入的学号不正确");
//没有学号,不能删除
} else {
list.remove(index);
//找到学号,进行删除
System.out.println("学生信息已删除成功");
}
}

4、修改学生的方法

同样通过索引查找方法,找到相司学号信息才能进行修改,集合中直接操作,不需要返回任何数据。


public static void revise(ArrayList<Student> list) {
//创建键盘录入对象
Scanner sc = new Scanner(System.in);
System.out.println("请输入学号");
String sid = sc.next();
//调用方法,查看是否存在对象
int index = judge(list, sid);
//索引为-1,表示不存在,不可以进行操作
if (index == -1) {
System.out.println("您输入的学号不正确");
} else {
//索引存在,进行修改
Student stutemp = list.get(index);
stutemp.setSid(sid);
System.out.println("请输入姓名");
stutemp.setName(sc.next());
System.out.println("请输入年龄");
stutemp.setAge(sc.nextInt());
System.out.println("请输入生日");
stutemp.setBirthday(sc.next());
//修改成功,调用set方法替换索引位置信息。
list.set(index, stutemp);
System.out.println("学生信息已修改成功");
}
}

 5、查看学生的方法

查看学生方法实现比较简单,只需要调用集合中的每个学生对象,然后打印每个学生的数据即可,直接遍历集合实现。


public static void seeStudenyt(ArrayList<Student> list) {
System.out.println("学号t" + "姓名t" + "年龄t" + "生日");
for (int i = 0; i < list.size(); i++) {
Student temp = list.get(i);
System.out.println(temp.getSid() + "t" + temp.getName() + "t" + temp.getAge() + "tt" + temp.getBirthday());
}
}

最后

以上就是阳光砖头为你收集整理的ArrayList学生管理系统的基本实现的全部内容,希望文章能够帮你解决ArrayList学生管理系统的基本实现所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(84)

评论列表共有 0 条评论

立即
投稿
返回
顶部