通过数组,完成对学生信息的管理(CURD)
程序员文章站
2022-10-04 08:43:51
一、通过数组,完成对学生信息的管理(CURD)步骤1:创建一个学生类(构造方法、GetSet、toString)public class Student {private String id;//学号private String name;//姓名private int age;//年龄@Overridepublic String toString() { return "Student{" + "id='" + id + '\'' +...
步骤1:创建一个学生类(构造方法、GetSet、toString)
public class Student {
private String id;//学号
private String name;//姓名
private int age;//年龄
@Override
public String toString() {
return "Student{" +
"id='" + id + '\'' +
", name='" + name + '\'' +
", age=" + age +
'}';
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
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 Student() {
}
public Student(String id, String name, int age) {
this.id = id;
this.name = name;
this.age = age;
}
}
步骤2:创建学生管理类,进行CURD,并进行测试
public class StudentManage {
Student [] stu=new Student[30];//固定班级有30个学生
static int currCount=0;//当前学生数
/**
*添加学生到数组
* @param s
*/
public void add(Student s){
stu[currCount]=s;//将传过来的学生存入数组
currCount++;
}
/**
* 查询所有
*/
public void queryAll(){
for (int i = 0; i <currCount ; i++) {
System.out.println(i+"******"+stu[i]);
}
}
/**
* 根据学号查询学生
* 循环遍历数组,拿到对象的id和传入的id做比较
* 如果一致,那么打印当前对象,否则查询为空
* @param id
*/
public void queryOneById(String id){
for (int i = 0; i <currCount ; i++) {
if (stu[i].getId().equals(id)){
System.out.println(stu[i]);
}
}
}
/**
* 修改
* @param id 传的id
* @param newId
* @param name
* @param age
*/
public void update(String id,String newId,String name,int age){
for (int i = 0; i <currCount ; i++) {
if (stu[i].getId().equals(id)){
stu[i].setId(newId);
stu[i].setName(name);
stu[i].setAge(age);
}
}
}
/**
* 删除1
* @param id
public void delete(String id){
//循环遍历拿到数组中id
for (int i = 0; i <currCount ; i++) {
//判断传的id是否和遍历的id相等
if (stu[i].getId().equals(id)){
for (int j = i; j <currCount ; j++) {
stu[j]=stu[j+1];
}
currCount--;
}
}
}*/
/**
* 删除2
* @param id
*/
public void delete(String id){
//创建一个长度和stu数组一样的新数组
Student []newStu=new Student[stu.length];
//创建一个新下标
int j=0;
//创建新人数
int sum=currCount;
for (int i = 0; i <currCount ; i++) {
//判断传的id和循环遍历的id是否相等
if (id!=stu[i].getId()){
//如果不等,把不需要删除的,赋给新数组
newStu[j]=stu[i];
//每赋一次人数加1
j++;
}else{
//否则需要删除,人数每次减1
sum--;
}
}
//再把新数组赋给老数组
stu=newStu;
//再把新人数赋给老人数
currCount=sum;
}
}
步骤3:创建测试类
public class Test{
public static void main(String[] args) {
StudentManage sm=new StudentManage();
Student s1=new Student("01","张三",20);
Student s2=new Student("02","李四",22);
Student s3=new Student("03","王五",25);
sm.add(s1);
sm.add(s2);
sm.add(s3);
sm.queryAll();
System.out.println("------------------");
//sm.queryOneById("02");
//sm.delete();
//sm.update("01","04","雷霆",14);
sm.delete("02");
sm.queryAll();
}
}
本文地址:https://blog.csdn.net/IT_LD/article/details/107346943