实体类
public class Student {
private String id;
private String name;
private int age;
private String hobby;
public Student() {
}
public Student(String id, String name, int age, String hobby) {
this.id = id;
this.name = name;
this.age = age;
this.hobby = hobby;
}
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 int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getHobby() {
return hobby;
}
public void setHobby(String hobby) {
this.hobby = hobby;
}
@Override
public String toString() {
return "Student{" +
"id='" + id + '\'' +
", name='" + name + '\'' +
", age=" + age +
", hobby='" + hobby + '\'' +
'}';
}
}
接口
public interface StudentService {
//添加用户
void add(List<Student> list, Scanner sc);
//查询用户
void get(List<Student> list);
//修改用户
boolean set(List<Student> list,Scanner sc);
//删除用户
boolean delete(List<Student> list,Scanner sc);
}
实现类
public class StudentServiceImpl implements StudentService{
//添加元素
@Override
public void add(List<Student> list, Scanner sc) {
Student student = new Student();
System.out.println("请输入姓名:");
String name = sc.next();
System.out.println("请输入年龄:");
int age = sc.nextInt();
System.out.println("请输入爱好:");
String hobby = sc.next();
student.setId(System.currentTimeMillis()+"");
student.setName(name);
student.setAge(age);
student.setHobby(hobby);
list.add(student); //将学生信息全部添加到list集合中
}
//查询元素
@Override
public void get(List<Student> list) {
System.out.println("学生id"+"\t\t\t\t"+"姓名"+"\t\t"+"年龄"+"\t\t"+"爱好");
for (int j = 0; j <list.size(); j++) {
System.out.println(list.get(j).getId()+"\t\t"+list.get(j).getName()+"\t\t\t"+list.get(j).getAge()+"\t\t\t"+list.get(j).getHobby());
}
}
//修改元素
@Override
public boolean set(List<Student> list,Scanner sc) {
System.out.println("请输入姓名:");
String name3 = sc.next();
if (list.size()==0){ //判断集合中长度是否为空
System.out.println("查无此人");
}
for (int j = 0; j <list.size(); j++) { //遍历集合中的元素
if (name3.equals(list.get(j).getName())){ //判断用户输入的值和集合中的name是否相同
Student student1 = list.get(j); //将集合中的每个元素赋值给学生对象
System.out.println(student1);
System.out.println("请输入新的姓名:");
String name4 = sc.next();
student1.setName(name4); //将用户输入的名字赋值给新用户
System.out.println("修改成功!!!");
return true;
}
}
return false;
}
//删除元素
@Override
public boolean delete(List<Student> list, Scanner sc) {
System.out.println("请输入姓名:");
String name5 = sc.next();
if (list.size()==0){ //判断用户输入的长度是否为空
System.out.println("查无此人");
}
for (int j = 0; j <list.size(); j++) {
if (name5.equals(list.get(j).getName())){ //判断用户输入的值和集合中的name是否相同
list.remove(j); //将集合的元素属性移除
System.out.println("删除成功!!");
return true;
}
}
return false;
}
}
测试类
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("---------欢迎使用学生管理系统------------");
//Map<String,Student> map = new HashMap<>();
List<Student> list = new ArrayList<>();
StudentServiceImpl studentService = new StudentServiceImpl();
while (true) {
System.out.println("1.添加学生");
System.out.println("2.查询学生");
System.out.println("3.修改学生");
System.out.println("4.删除学生");
System.out.println("5.退出系统");
int i=0; //用户只能输入整数类型,否则会报错
try {
i = sc.nextInt();
} catch (Exception e) {
throw new InputMismatchException("输入的格式错误");
}
switch (i){
case 1:
studentService.add(list,sc);
break;
case 2:
studentService.get(list);
break;
case 3:
studentService.set(list, sc);
break;
case 4:
studentService.delete(list, sc);
break;
case 5:
System.out.println("感谢使用本系统!!!");
return;
default:
System.out.println("输入编号错误");
break;
}
}
}
}