基本上我在返回值时需要一种延迟:因此,如果我的方法 SlowThinker 被赋予字符串“Hello”,然后是“Goodbye”,然后是“See you later”,它需要返回“”(空字符串),然后是“ Hello”,然后是“Goodbye”(依此类推,总是在其当前输入之后一个)。
到目前为止,我试图将所有输入保存在一个数组中,但我无法弄清楚我在实现中做错了什么:
public class SlowThinker {
private String[] sayings = new String[20];
private int i = 0;
public int increment(){
while(true){
i++;
return i;
}
}
public String transform(String stringToTransform){
sayings[0] = "";
sayings[increment()] = stringToTransform;
return sayings[increment()-1];
}
}
我还在另一个班级中使用以下内容作为我的测试人员:
assertEquals("", this.slowThinkerOne.transform("Return This Later"));
assertEquals("Return This Later", this.slowThinkerOne
.transform("One More Time"));
assertEquals("One More Time", this.slowThinkerOne.transform(""));
assertEquals("", this.slowThinkerTwo.transform("This is the Last Time"));
非常感谢!