student:学生类
public class Student {
private int id;
private String name;
private String age;
/**
* 构造方法
*
* @param id
* @param name
* @param age
*/
public Student(int id, String name, String age) {
this.id = id;
this.name = name;
this.age = age;
}
/**
* get-set方法
*
* @return
*/
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
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;
}
/**
* toString
*
* @return
*/
@Override
public String toString() {
return "Student{" +
"id=" + id +
", name='" + name + '\'' +
", age='" + age + '\'' +
'}';
}
studentManagement:学生管理类接口
public interface studentManagement {
//增
public void add(Student stu);
//删
public void delete(int in);
//改
public void update(int i, Student s);
//查询全部
public void selectStu();
//根据id查
public void selectById(int i);
}
studentManagementImpl:学生管理实现类
public class studentManagementImpl implements studentManagement {
static Student[] st = new Student[30]; //班级人数
static int currCont = 0; //班级当前人数
/**
* 添加方法
*
* @param stu
*/
@Override
public void add(Student stu) {
/**
* 思路:
* 根据下标直接添加
*/
st[currCont] = stu;
currCont++;
}
//删除
@Override
public void delete(int in) {
/**
* 思路:
* 先定义一个新数组,因为要删除一个数据,所以新数组的长度为老数组的长度减一
* 将原数组除了需要删除的数据全部转移到新数组
* 然后将原数组赋值为null
* 最后将新数组的数据通过下标再次转移到老数组,因为删除了一个学生,所以最后当前学生总数要减一
*/
Student[] newStu = new Student[st.length - 1];
int a = 0;
for (int i = 0; i < currCont; i++) {
if (st[i].getId() != in) {
newStu[a] = st[i];
a++;
}
}
st = null;
st = newStu;
currCont--;
}
/**
* 根据ID修改
*
* @param i
* @param s
*/
@Override
public void update(int i, Student s) {
/**
* 思路:
* 先查出全部数据
* 然后循环判断id是否跟你需要修改的i是否相等
* 最后将需要修改的数据覆盖原数据
*/
for (int j = 0; j < currCont; j++) {
if (st[j].getId() == i) {
st[j] = s;
}
}
selectStu();
}
//查
@Override
public void selectStu() {
/**
*思路:
* 循环遍历全部并打印
*/
for (int i = 0; i < currCont; i++) {
System.out.println(st[i]);
}
}
/**
* 根据id查询全部
*
* @param i
*/
@Override
public void selectById(int i) {
/**
* 思路:
* 循环遍历查询全部
* id相等则打印
*/
for (int j = 0; j < currCont; j++) {
if (st[j].getId() == i) {
System.out.println(st[j].toString());
}
}
}
Test:测试类
public class Test {
static studentManagement s = new studentManagementImpl();
public static void main(String[] args) {
Student s1 = new Student(1,"张三","45");
Student s2 = new Student(2,"张三1","451");
Student s3 = new Student(3,"张三2","452");
Student ss = new Student(4,"张三3","55");
//添加
s.add(s1);
s.add(s2);
s.add(s3);
//删除
s.delete(2);
// 修改
s.update(1,ss);
// 查询全部
s.selectStu();
//根据id查全部
s.selectById(1);
}
}