学生类
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();
}
}
}