小水滴公司正在开发小水滴校园管理系统。其中一个重要的功能是管理和维护学生的信息和当前状态。校园管理系统提供了查询学生当前状态的接口。该接口接收学生的姓名作为唯一参数,返回一个YAML结构的字符串,用于表示该学生的信息和状态。如下面的代码所示,StudentInfoManager类的成员方法queryStudent()接受一个字符串name作为参数,返回一个YAML字符串,表示对应学生的信息。
public class StudentInfoManager {
public String queryStudent(String name) {
...
}
}
在项目的com.littlewaterdrop.bean包中的Stduent.java文件中,定义了学生Student类。该类包含三个成员变量,它们分别是(1) name,字符串类型;(2) age,整数类型;和(3) major,字符串类型。
package com.littlewaterdrop.bean;
public class Student {
private String name = null; // 名字
private Integer age = null; // 年龄
private String major = null; // 专业
...
}
在项目的com.littlewaterdrop包中的StudentInfoManager.java文件中,定义了类StudentInfoManager。该类包含了一个Map类型的成员变量studentInfo,用于存放从name至Student对象的映射。方法addStudent()则是向studentInfo中添加新的Student对象。queryStudent()方法接受一个学生的名字,并将该Student对象转换成YAML字符串,从方法返回。若学生不存在,则返回null。
学员需要实现queryStudent()方法。该方法的实现分为三个步骤。第一个步骤是从studentInfo中查询对应的Student对象。第二个步骤使用Jackson代码库提供的功能,将该Student对象转换为一个YAML字符串。第三个步骤返回生成的YAML字符串。
package com.littlewaterdrop;
public class StudentInfoManager {
private Map<String, Student> studentInfo = null;
public StudentInfoManager() {
studentInfo = new HashMap<String, Student>();
}
public void addStudent(Student student) {
studentInfo.put(student.getName(), student);
}
public String queryStudent(String name) {
// 1. 从studentInfo中查询Student对象
// 2. 将得到的Student对象序列化成一个YAML字符串
// 3. 返回得到的YAML字符串
return null;
}
}
最后,在com.littlewaterdrop包中的Project.java文件包含了StudentInfoManager类的使用方法用例和一些测试用例。学员可以通过运行这些测试用例检查queryStudent()方法是否运行正确。