具体代码如下:
package domain;
public class Student {
private String id;
private String name;
private String age;
private String birthday;
public Student() {
}
public Student(String id, String name, String age, String birthday) {
this.id = id;
this.name = name;
this.age = age;
this.birthday = birthday;
}
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 String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
}
封装对象的Student类
package entry;
import controller.StudentController;
import java.util.Scanner;
public class InfoMangerEntry {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
while(true){
System.out.println("-------------------欢迎使用信息管理系统----------------");
System.out.println(“请输入您的选择:1,学生管理系统 2,老师管理系统 3,退出”);
String choice= sc.next();
switch(choice){
case"1":
// System.out.println(“欢迎使用学生管理系统” );
StudentController studentController=new StudentController();
studentController.start();
break;
case “2”:
System.out.println(“欢迎使用教师管理系统”);
break;
case"3":
System.out.println("感谢您的使用");
System.exit(0);
break;
default:
System.out.println("您的输入有误,请从新输入");
break;
}
}
}
}
程序入口
package service;
import dao.StudentDao;
import domain.Student;
public class StudentService {
StudentDao studentDao=new StudentDao();
public boolean isExisted(String id) {
Student[] stus=studentDao.findAllStudent();
boolean exists=false;
for (int i = 0; i < stus.length; i++) {
Student student=stus[i];
if (student!=null&&student.getId().equals(id)){
exists=true;
break;
}
}
return exists;
}
public boolean addStudent(Student stu) {
return studentDao.addStudent(stu);
}
public Student[] findAllStudent() {
Student[] allStudent=studentDao.findAllStudent();
boolean flag=false;
for (int i = 0; i < allStudent.length; i++) {
Student stu=allStudent[i];
if (stu!=null){
flag=true;
}
}
if (flag){
return allStudent;
}else {
return null;
}
}
public void deleteStudentById(String delId) {
studentDao.deleteStudentById(delId);
}
public void updateStudent(String updateId, Student newstu) {
studentDao.updateStudent(updateId,newstu);
}
}
package controller;
import domain.Student;
import service.StudentService;
import java.util.Scanner;
public class StudentController {
private Scanner sc=new Scanner(System.in);
private StudentService studentService=new StudentService();
public void start() {
lo:while(true){
System.out.println("--------------欢迎使用学生管理系统------------");
System.out.println("请输入您的选择 1,添加学生 2,删除学生 3,修改学生 4,查看学生 5,退出");
String choice=sc.next();
switch (choice){
case"1":
//System.out.println("添加学生");
addStudent();
break;
case"2":
//System.out.println("删除学生");
deleteStudentById();
break;
case "3":
//System.out.println("修改学生");
updateStudent();
break;
case"4":
//System.out.println("查看学生");
findAllStudent();
break;
case"5":
System.out.println("感谢您的使用");
break lo;
default:
System.out.println("您的输入有误,请重新输入");
}
}
}
public void updateStudent() {
String updateId;
while (true){
System.out.println("请输入您要修改学生ID");
updateId=sc.next();
boolean exists=studentService.isExisted(updateId);
if (!exists){
System.out.println("您输入的id有误,请重新输入");
}else {
break;
}
}
System.out.println("请输入学生姓名");
String name=sc.next();
System.out.println("请输入学生年龄");
String age=sc.next();
System.out.println("请输入学生生日");
String birthday=sc.next();
Student newstu=new Student();
newstu.setId(updateId);
newstu.setName(name);
newstu.setAge(age);
newstu.setBirthday(birthday);
studentService.updateStudent(updateId,newstu);
System.out.println("修改成功");
}
public void deleteStudentById() {
String delId;
while (true){
System.out.println("请输入您要删除学生ID");
delId=sc.next();
boolean exists=studentService.isExisted(delId);
if (!exists){
System.out.println("您输入的id有误,请重新输入");
}else {
break;
}
}
studentService.deleteStudentById(delId);
System.out.println("删除成功");
}
public void findAllStudent() {
Student[] stus=studentService.findAllStudent();
if (stus==null){
System.out.println("查无此信息,请添加后重试");
return;
}
System.out.println("学号\t\t姓名\t年龄\t生日");
for (int i = 0; i < stus.length; i++) {
Student stu=stus[i];
if (stu!=null){
System.out.println(stu.getId()+"\t\t"+stu.getName()+"\t"+stu.getAge()+"\t"+stu.getBirthday());
}
}
}
public void addStudent() {
String id;
Scanner sc=new Scanner(System.in);
while (true){
System.out.println("请输入学生学号");
id= sc.next();
boolean flag=studentService.isExisted(id) ;
if (flag){
System.out.println("学号已经被占用,请重新输入");
}else{
break;
}
}
System.out.println("请输入学生姓名");
String name=sc.next();
System.out.println("请输入学生年龄");
String age=sc.next();
System.out.println("请输入学生生日");
String birthday=sc.next();
Student stu=new Student();
stu.setId(id);
stu.setName(name);
stu.setAge(age);
stu.setBirthday(birthday);
boolean result = studentService.addStudent(stu);
if (result){
System.out.println("添加成功");
}else {
System.out.println("添加失败");
}
}
}
库管类
package dao;
import domain.Student;
public class StudentDao {
private static Student[] stus=new Student[5];
public boolean addStudent(Student stu) {
int index=-1;
for (int i = 0; i < stus.length; i++) {
Student student=stus[i];
if (student==null){
index=i;
break;
}
}
if (index==-1){
return false;
}else{
stus[index]=stu;
return true;
}
}
public Student[] findAllStudent() {
return stus;
}
public void deleteStudentById(String delId) {
int index=getIndex(delId);
stus[index]=null;
}
public int getIndex(String id){
int index=-1;
for (int i = 0; i < stus.length; i++) {
Student stu=stus[i];
if (stu!=null&&stu.getId().equals(id)){
index=i;
}
}
return index;
}
public void updateStudent(String updateId, Student newstu) {
int index=getIndex(updateId);
stus[index]=newstu;
}
}