数组实现学生管理系统

学生类

package org.lizheng;

import java.util.Objects;

/**
 * @author 
 * @ClassName Student
 * @description: TODO
 * @datetime 2023年 04月 04日 9:59
 * @version: 1.0
 */

public class Student {
    private int id;
    private String name;
    private int score;

    public Student() {
    }

    @Override
    public String toString() {
        return "Student{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", score=" + score +
                '}';
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof Student)) return false;
        Student student = (Student) o;
        return getId() == student.getId() &&
                getScore() == student.getScore() &&
                getName().equals(student.getName());
    }

    @Override
    public int hashCode() {
        return Objects.hash(getId(), getName(), getScore());
    }

    public Student(int id, String name, int score) {
        this.id = id;
        this.name = name;
        this.score = score;
    }

    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 int getScore() {
        return score;
    }

    public void setScore(int score) {
        this.score = score;
    }
}

管理类

package org.lizheng;

import java.util.Arrays;

/**
 * @author 
 * @ClassName Manager
 * @description: TODO
 * @datetime 2023年 04月 04日 10:01
 * @version: 1.0
 */

public class Manager {
    Student[] st = new Student[5];
    int count=0;
    /*
    添加学生
    */
    public void add(Student s){
        if (count==st.length){
            st= Arrays.copyOf(st,st.length*2); //如果数组内容大小,超出数组长度,数组扩容
        }
        st[count++] = s;  // 将传入的学生s 赋值为下标为count的数组中

    }
     /*
    修改学生信息
    */
     public void update(Student s){
         for (int i = 0; i <count ; i++) {   //循环遍历找到id与传入的学生id相同的学生,在将修改完的学生传入到该下标的数组中
            Student temp = st[i];
            if (temp.getId()==s.getId()){
                st[i] = s;
            }
         }
     }
     /*
    删除学生信息
    */
     public void del( int id ){
         for (int i = 0; i <count ; i++) {    //循环遍历查找
             if (st[i].getId()==id){
                 for (int j = i; j <count-1 ; j++) {
                     st[j]=st[j+1];
                 }
                 st[--count]=null;
             }
         }
     }
     /*
    查找一个学生
    */
     public void findById(int id){
         for (int i = 0; i < count; i++) {
             if (st[i].getId()==id){
                 System.out.println(st[i]);
             }
         }

     }
     /*
    查看所有学生
    */
     public void findAll(){
         for (int i = 0; i < count; i++) {
             if (st[i]!=null){
                 System.out.println(st[i]);
             }
         }
     }

}

测试类

package org.lizheng;


import java.util.ArrayList;
import java.util.Scanner;

/**
 * @author 
 * @ClassName Test
 * @description: TODO
 * @datetime 2023年 04月 04日 9:59
 * @version: 1.0
 */

public class Test {
    public static void main(String[] args) {
        ArrayList tt = new ArrayList();
        tt.add(1);

        Scanner input = new Scanner(System.in);
        Manager manager = new Manager();
        String b = "y";
            while (b.equals("y")) {
            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("********************");
            System.out.println("请选择:");
            int a = input.nextInt();
            switch (a) {
                case 1:
                    System.out.println("添加学生");
                    System.out.println("请输入要添加的学生学号");
                    int id = input.nextInt();
                    System.out.println("请输入要添加的学生姓名");
                    String name = input.next();
                    System.out.println("请输入要添加的学生成绩");
                    int score = input.nextInt();
                    Student student = new Student(id,name,score);
                    manager.add(student);

                    break;
                case 2:
                    System.out.println("修改学生信息");
                    System.out.println("请输入要修改的学生学号");
                    int id2 = input.nextInt();
                    System.out.println("请输入要添加的学生姓名");
                    String name2 = input.next();
                    System.out.println("请输入要添加的学生成绩");
                    int score2 = input.nextInt();
                    Student student2 = new Student(id2,name2,score2);
                    manager.update(student2);


                    break;
                case 3:
                    System.out.println("删除学生");
                    System.out.println("请输入要删除的学生学号:");
                    int c = input.nextInt();
                    manager.del(c);

                    break;
                case 4:
                    System.out.println("查询某一学生信息");
                    System.out.println("请输入要查询的学生学号:");
                    int d = input.nextInt();
                    manager.findById(d);

                    break;
                case 5:
                    System.out.println("查询所有学生信息");
                    manager.findAll();


                    break;


            }
                System.out.println("是否继续:");
                b = input.next();

        }
    }
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值