1.定义一个类用于储存对象,比如创建了一个Person类,其中包含了要储存的一些属性,姓名,ID,性别,年龄
2.创建一个接口,里面定义一些简单的增删改查,并且写一个类去实现这些方法
3.创建一个用处理输入数据的类,对输入的内容进行简单的判断,符合条件才能去添加对象
4.通过两个不同的实例对象去分别管理学生跟老师
package studu01.Manager;
import java.util.List;
public interface Manager {
List<Person> findAll();
List<Integer> getAllID();
Person findByID(int ID);
void add(Person person);
void delete(int ID);
void update(int id,Person person);
}
package studu01.Manager;
import java.util.List;
import java.util.Scanner;
public class ManagerBean {
private static final ManagerImpl manager = new ManagerImpl();
private static final Scanner SC = new Scanner(System.in);
public void add(){
manager.add(creatPerson());
}
public void findAll(){
List<Person> all = manager.findAll();
if (all.size()!=0){
System.out.println("\tID\t\t姓名\t\t性别\t\t年龄");
for (Person s : all) {
System.out.println(s);
}
}else {
System.out.println("数据库暂无数据,请添加后再查询");
}
}
public void findByID(){
System.out.println("请输入要查找的id:");
Person p = manager.findByID(SC.nextInt());
if (p==null){
System.out.println("数据库中暂时没有这个ID的人");
}else {
System.out.println("\tID\t\t姓名\t\t性别\t\t年龄");
System.out.println(p);
}
}
public void delete(){
System.out.println("请输入要删除的人的ID:");
manager.delete(SC.nextInt());
}
public void update(){
System.out.println("请输入要修改的人的ID:");
int id = SC.nextInt();
manager.update(id,creatPerson());
}
private Person creatPerson(){
System.out.println("请输入ID:");
int id = SC.nextInt();
while (idCheck(id)){
id = SC.nextInt();
}
System.out.println("请输入姓名:");
String name = SC.next();
while (nameCheck(name)){
name = SC.next();
}
System.out.println("请输入性别:");
String sex = SC.next();
while (sexCheck(sex)) {
sex = SC.next();
}
System.out.println("请输入年龄:");
int tempAge = SC.nextInt();
int age;
while (tempAge>40||tempAge<6){
System.out.println("年龄输入错误,请重新输入:");
tempAge = SC.nextInt();
}
age = tempAge;
return new Person(id, name, sex.equals("男"), age);
}
private boolean idCheck(int id){
List<Integer> list = manager.getAllID();
for (Integer integer : list) {
if (integer.equals(id)) {
System.out.println("ID重复,请重新输入:");
return true;
}
}
return false;
}
private boolean nameCheck(String name){
if (name.length()>4||name.length()<1) {
System.out.println("姓名不能超过四位或小于一位,请重新输入:");
return true;
}
return false;
}
private boolean sexCheck(String tempSex){
if ((!tempSex.equals("男"))&&(!tempSex.equals("女"))) {
System.out.println("性别输入错误,请重新输入:");
return true;
}
return false;
}
}
package studu01.Manager;
import java.util.ArrayList;
import java.util.List;
public class ManagerImpl implements Manager{
ArrayList<Person> list = new ArrayList<>();
ArrayList<Integer> idList = new ArrayList<>();
@Override
public List<Person> findAll() {
return list;
}
@Override
public List<Integer> getAllID() {
for (Person person : list) {
idList.add(person.getID());
}
return idList;
}
@Override
public Person findByID(int id) {
for (Person person : list) {
if (person.equals(id)) {
return person;
}
}
return null;
}
@Override
public void add(Person person) {
list.add(person);
System.out.println("添加成功");
}
@Override
public void delete(int id) {
for (int i = 0; i < list.size(); i++) {
if (list.get(i).equals(id)){
list.remove(i);
System.out.println("删除成功");
return;
}
}
System.out.println("未找到,删除失败");
}
@Override
public void update(int id,Person person) {
for (int i = 0; i < list.size(); i++) {
if (list.get(i).equals(id)){
list.set(i, person);
System.out.println("修改成功");
return;
}
}
System.out.println("未找到,修改失败");
}
}
package studu01.Manager;
public class Person {
private int ID;
private String name;
private boolean sex;
private int age;
public Person(int ID, String name, boolean sex, int age) {
this.ID = ID;
this.name = name;
this.sex = sex;
this.age = age;
}
public int getID() {
return ID;
}
public String getName() {
return name;
}
public boolean isSex() {
return sex;
}
public int getAge() {
return age;
}
public String toString() {
return "\t"+this.getID()+" "+this.getName()+" "+
(this.isSex()?"男":"女")+" "+this.getAge();
}
// public boolean equals(Person p) {
// return this.ID == p.ID;
// }
public boolean equals(int ID) {
return this.ID == ID;
}
}
package studu01;
import studu01.Manager.ManagerBean;
import java.util.Scanner;
public class Test {
private static final ManagerBean stuBean = new ManagerBean();
private static final ManagerBean teacherBean = new ManagerBean();
private static final Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
boolean exit1 = false;
Test t = new Test();
while (!exit1){
System.out.println("1.学生管理系统\n2.老师管理系统\n3.显示老师学生\n4.退出管理系统");
int next1 = scanner.nextInt();
switch (next1){
case 1:
System.out.println("学生管理系统");
Test.stuBean();
break;
case 2:
System.out.println("老师管理系统");
t.teacherBean();
break;
case 3:
System.out.println("显示老师学生");
System.out.println("---------学生----------");
stuBean.findAll();
System.out.println("---------老师----------");
teacherBean.findAll();
break;
case 4:
System.out.println("退出管理系统");
exit1 = true;
break;
default:
System.out.println("输入错误");
}
}
}
private static void stuBean(){
boolean exit2 = false;
while (!exit2){
System.out.println("1.显示所有学生\n2.通过ID查找学生\n3.添加学生\n4.删除学生\n5.修改学生\n6.退出学生管理系统");
int next2 = scanner.nextInt();
switch (next2){
case 1:
System.out.println("查找所有学生");
stuBean.findAll();
break;
case 2:
System.out.println("通过ID查找学生");
stuBean.findByID();
break;
case 3:
System.out.println("添加学生");
stuBean.add();
break;
case 4:
System.out.println("删除学生");
stuBean.delete();
break;
case 5:
System.out.println("修改学生");
stuBean.update();
break;
case 6:
System.out.println("退出学生管理系统");
exit2 = true;
break;
default:
System.out.println("输入错误");
}
}
}
private void teacherBean(){
boolean exit3 = false;
while (!exit3){
System.out.println("1.显示所有老师\n2.通过ID查找老师\n3.添加老师\n4.删除老师\n5.修改老师\n6.退出老师管理系统");
int next3 = scanner.nextInt();
switch (next3){
case 1:
System.out.println("查找所有老师");
teacherBean.findAll();
break;
case 2:
System.out.println("通过ID查找老师");
teacherBean.findByID();
break;
case 3:
System.out.println("添加老师");
teacherBean.add();
break;
case 4:
System.out.println("删除老师");
teacherBean.delete();
break;
case 5:
System.out.println("修改老师");
teacherBean.update();
break;
case 6:
System.out.println("退出老师管理系统");
exit3 = true;
break;
default:
System.out.println("输入错误");
}
}
}
}