1.首先,创建一个实例包用于存放实例对象,并创建Student实例
package POJO;
public class Student {
Integer id;
String stuNUm;
String name;
Integer age;
String major;
String classz;
public Student() {
}
public Student(Integer id, String stuNUm, String name, Integer age, String major, String classz) {
this.id = id;
this.stuNUm = stuNUm;
this.name = name;
this.age = age;
this.major = major;
this.classz = classz;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getStuNUm() {
return stuNUm;
}
public void setStuNUm(String stuNUm) {
this.stuNUm = stuNUm;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getMajor() {
return major;
}
public void setMajor(String major) {
this.major = major;
}
public String getClassz() {
return classz;
}
public void setClassz(String classz) {
this.classz = classz;
}
@Override
public String toString() {
return "Student{" +
"id=" + id +
", stuNUm='" + stuNUm + '\'' +
", name='" + name + '\'' +
", age=" + age +
", major='" + major + '\'' +
", classz='" + classz + '\'' +
'}';
}
}
2.创建数据处理接口,注意分包,接口包和实现接口包
接口()
package HandelDataLogic.DataInterface;
import POJO.Student;
public interface StudentInterface {
Student addStudent();
void findStudent(Student stuArr[],int count);
Student findOneStudent(Student[] stuArr, int count, String name);
Student updataStudent(Student[] stuArr, int count, String stuNUm);
boolean delStudent(Student stuArr[],int count,String stuNUm);
}
实现接口
package HandelDataLogic.DoInterface;
import HandelDataLogic.DataInterface.StudentInterface;
import POJO.Student;
import java.util.Scanner;
public class doStudentInterface implements StudentInterface {
static int id = 0;
Scanner scanner = new Scanner(System.in);
@Override
public Student addStudent() {
// 调用Student实体类中的set方法给对象赋值
Student student = new Student();
System.out.println("请输入学生学号");
student.setStuNUm(scanner.next());
System.out.println("请输入学生姓名");
student.setName(scanner.next());
System.out.println("请输入学生年龄");
student.setAge(scanner.nextInt());
System.out.println("请输入学生专业");
student.setMajor(scanner.next());
System.out.println("请输入学生班级");
student.setClassz(scanner.next());
student.setId(++doStudentInterface.id);
//返回一个赋好值的对象
return student;
}
@Override
public void findStudent(Student[] stuArr, int count) {
// System.out.println("查询所有学生信息");
for (int i = 0; i < count; i++) {
// System.out.println("stuArr[i].toString() = " + stuArr[i].toString());
System.out.print("学号:" + stuArr[i].getStuNUm() + '\t');
System.out.print("姓名:" + stuArr[i].getName() + '\t');
System.out.print("年龄:" + stuArr[i].getAge() + '\t');
System.out.print("专业:" + stuArr[i].getMajor() + '\t');
System.out.println("班级:" + stuArr[i].getClassz() + '\t');
}
}
@Override
public Student findOneStudent(Student[] stuArr, int count, String name) {
System.out.println("--------你可以通过姓名查询某个学生信息--------");
for (int i = 0; i < count; i++) {
if (stuArr[i].getName().equals(name)) {
return stuArr[i];
}
}
return null;
}
@Override
public Student updataStudent(Student[] stuArr, int count, String stuNUm) {
boolean falg = false;
int index = 0;
Scanner scanner = new Scanner(System.in);
for (int i = 0; i < count; i++) {
if (stuArr[i].getStuNUm().equals(stuNUm)) {
index = i;
falg = true;
break;
}
}
if (falg) {
System.out.println("原来的学号是:" + stuArr[index].getStuNUm());
System.out.println("请输入更新的学号");
stuArr[index].setStuNUm(scanner.next());
System.out.println("原来的姓名是:" + stuArr[index].getName());
System.out.println("请输入更新的姓名");
stuArr[index].setName(scanner.next());
System.out.println("原来的年龄是:" + stuArr[index].getAge());
System.out.println("请输入更新的年龄");
stuArr[index].setAge(scanner.nextInt());
System.out.println("原来的专业是:" + stuArr[index].getMajor());
System.out.println("请输入更新的专业");
stuArr[index].setMajor(scanner.next());
System.out.println("原来的班级是:" + stuArr[index].getStuNUm());
System.out.println("请输入更新的班级");
stuArr[index].setClassz(scanner.next());
return stuArr[index];
}
return null;
}
@Override
public boolean delStudent(Student[] stuArr, int count, String stuNUm) {
// System.out.println("删除学生信息");
boolean flag = false;
int index = 0;//删除元素的索引
for (int i = 0; i < count; i++) {
index = i;
flag = true;
break;
}
//覆盖
if (flag) {
for (int j = index; j < count - 1; j++) {
stuArr[j] = stuArr[j + 1];
}
return true;
} else {
return false;
}
}
}
3.主方法
package UserView;
import POJO.Student;
import HandelDataLogic.DoInterface.doStudentInterface;
import java.util.Scanner;
public class StudentRun {
public static void main(String[] args) {
System.out.println("-----------欢迎进入学生管理系统-----------");
// 创建一个对象数组用于存储对象信息
Student[] students = new Student[200];
// stuNum用于记录数组使用长度
int stuNum = 0;
//定义一个doStudentInterface对象调用其中的方法
doStudentInterface doStudentInterface = new doStudentInterface();
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("1.添加学生信息");
System.out.println("2.查询学生信息");
System.out.println("3.查询某个(姓名)学生信息");
System.out.println("4.通过学号更新学生信息");
System.out.println("5.通过学号删除学生信息");
System.out.println("6.退出系统");
System.out.println("-----------------------");
int num = scanner.nextInt();
switch (num) {
case 1:
// 调用方法后返回一个对象存储在数组对象students中
students[stuNum++]=doStudentInterface.addStudent();
break;
case 2:
// 查询所有学生信息
doStudentInterface.findStudent(students, stuNum);
break;
case 3:
System.out.println("请输入需要查找的学生姓名");
String findname = scanner.next();
Student studentOne=doStudentInterface.findOneStudent(students,stuNum,findname);
if (studentOne!=null){
System.out.println("studentOne.toString() = " + studentOne.toString());
}else {
System.out.println("查无此人");
}
break;
case 4:
System.out.println("请输入你要更新的学号");
String upstuNum = scanner.next();
if(doStudentInterface.updataStudent(students, stuNum,upstuNum)!=null){
System.out.println("数据更新成功");
}else {
System.out.println("你所更新的数据不存在");
}
break;
case 5:
System.out.println("请输入你要删除的学号");
String findstuNum = scanner.toString();
if(doStudentInterface.delStudent(students,stuNum, findstuNum)){
System.out.println("你已成功删除学号为"+findstuNum+"的学生");
stuNum--;
}else {
System.out.println("你要删除的元素不存在");
}
break;
case 6:
System.exit(0);
}
}
}
}