Student 类: 标准学生类,封装键盘录入的学生信息(id , name , age , birthday)
StudentDao 类: Dao : (Data Access Object 缩写) 用于访问存储数据的数组或集合
StudentService 类: 用来进行业务逻辑的处理(例如:判断录入的id是否存在)
StudentController 类: 和用户打交道(接收用户需求,采集用户信息,打印数据到控制台)
InfoManagerEntry 类: 程序的入口(进入到学生管理系统)
Student 类
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;
}
}
StudentController 类
public class StudentCotroller {
static StudentService studentService = new StudentService();
public void start() {
Scanner sc = new Scanner(System.in);
String id;
while (true) {
System.out.println("----------------欢迎来到<学生>信息管理系统----------------");
System.out.println("请输入您的选择 1.添加 2.删除 3.修改 4.查询 5.退出");
String choice = sc.next();
switch (choice) {
case "1":
StudentAdd(sc);
break;
case "2":
delete(sc);
break;
case "3":
update(sc);
break;
case "4":
select();
break;
case "5":
return;
default:
System.out.println("您输入的有误,请重新输入");
break;
}
}
}
private void delete(Scanner sc) {
String id;
while (true){
System.out.println("请输入学号");
id = sc.next();
boolean flag = studentService.isExit(id);
if (flag){
break;
}else{
System.out.println("您输入的学号不存在,请重新输入");
}
}
boolean flag = studentService.delete(id);
if (flag){
System.out.println("删除成功");
return;
}else {
System.out.println("删除失败");
}
}
private void update(Scanner sc) {
String id;
while (true) {
System.out.println("请输入学号");
id = sc.next();
boolean exit = studentService.isExit(id);
if (exit) {
break;
} else {
System.out.println("您输入的学号不存在,请重新输入");
}
}
System.out.println("请输入姓名");
String name = sc.next();
System.out.println("请输入年龄");
String age = sc.next();
System.out.println("请输入生日");
String bir = sc.next();
boolean flag = studentService.update(id, name, age, bir);
if (flag) {
System.out.println("修改成功");
return;
} else {
System.out.println("修改失败");
return;
}
}
private void select() {
Student[] student = studentService.select();
System.out.println("--------------------查询结果如下--------------------");
for (int i = 0; i < student.length; i++) {
if (student[i] != null) {
System.out.println("学号:" + student[i].getId() + " 姓名:" + student[i].getName() + " 年龄:" + student[i].getAge() + " 生日:" + student[i].getBirthday());
}
}
System.out.println("----------------------------------------------------");
}
private void StudentAdd(Scanner sc) {
String id;
while (true) {
System.out.println("请输入学号");
id = sc.next();
boolean isExit = studentService.isExit(id);
if (isExit) {
System.out.println("您输入的学号已被占用,请重新输入");
} else {
break;
}
}
System.out.println("请输入姓名");
String name = sc.next();
System.out.println("请输入年龄");
String age = sc.next();
System.out.println("请输入生日");
String bir = sc.next();
Student student = new Student(id, name, age, bir);
boolean flag = studentService.add(student);
if (flag){
System.out.println("添加成功");
}else{
System.out.println("添加失败");
}
}
}
StudentService 类
public class StudentService {
static StudentDao studentDao = new StudentDao();
public boolean isExit(String id) {
return studentDao.isExit(id);
}
public boolean add(Student student) {
return studentDao.add(student);
}
public Student[] select() {
return studentDao.select();
}
public boolean update(String id, String name, String age, String bir) {
return studentDao.update(id,name,age,bir);
}
public boolean delete(String id) {
return studentDao.delete(id);
}
}
StudentDao 类
public class StudentDao {
static Student[] students = new Student[5];
public boolean isExit(String id) {
for (int i = 0; i < students.length; i++) {
if (students[i]!=null){
if (students[i].getId().equals(id)){
return true;
}
}
}
return false;
}
public boolean add(Student student) {
int index = -1;
for (int i = 0; i < students.length; i++) {
if (students[i] == null){
index = i;
break;
}
}
if (index == -1){
return false;
}else {
students[index] = student;
return true;
}
}
public Student[] select() {
return students;
}
public boolean update(String id, String name, String age, String bir) {
for (int i = 0; i < students.length; i++) {
if (students[i]!=null){
if (students[i].getId().equals(id)){
students[i].setName(name);
students[i].setAge(age);
students[i].setBirthday(bir);
return true;
}
}
}
return false;
}
public boolean delete(String id) {
for (int i = 0; i < students.length; i++) {
if (students[i]!=null){
if (students[i].getId().equals(id)){
students[i] = null;
return true;
}
}
}
return false;
}
}
InfoManagerEntry 类
public class InfoManagerEntry {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(true){
System.out.println("----------------欢迎来到<工商学院>信息管理系统----------------");
System.out.println(“请输入您的选择 1.学生 2.退出”);
String choice = sc.next();
switch (choice){
case “1”:
StudentCotroller studentCotroller = new StudentCotroller();
studentCotroller.start();
break;
case “2”:
System.out.println(“感谢您的使用!”);
System.exit(0);
default:
System.out.println(“您输入的有误,请重新输入”);
break;
}
}
}
}