这个问题也可以在下面的链接中找到:此链接中的问题
我能够通过3个测试用例中的2个,但是不能通过1个测试用例。我也会将我的代码上传到这里。
●创建一个名为AlertDAO的新的本地包接口,包含与MapAlertDAO相同的方法。
●MapAlertDAO应实现AlertDAO接口。
●AlertService应该有一个接受AlertDAO参数的构造函数。
●raiseAlert和getAlertTime方法应使用通过构造函数传递的对象。
●创建一个名为AlertDAO的新的本地包接口,包含与MapAlertDAO相同的方法。
●MapAlertDAO应实现AlertDAO接口。
●AlertService应该有一个接受AlertDAO参数的构造函数。
●raiseAlert和getAlertTime方法应使用通过构造函数传递的对象。
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
interface AlertDAO
{
public UUID addAlert(Date time);
public Date getAlert(UUID id);
}
class AlertService
{
private AlertDAO objAlertDAO;
private final MapAlertDAO storage = new MapAlertDAO();
public AlertService(AlertDAO objAlertDAO)
{
this.objAlertDAO=objAlertDAO;
}
public UUID raiseAlert()
{
return this.storage.addAlert(new Date());
}
public Date getAlertTime(UUID id)
{
return this.storage.getAlert(id);
}
}
class MapAlertDAO implements AlertDAO
{
private final Map<UUID, Date> alerts = new HashMap<UUID, Date>();
public UUID addAlert(Date time)
{
UUID id = UUID.randomUUID();
this.alerts.put(id, time);
return id;
}
public Date getAlert(UUID id)
{
return this.alerts.get(id);
}
public static void main(String args[])
{
AlertService obj =new AlertService(new MapAlertDAO());
}
}