基本的に、値を返す際に一種の遅延が必要です。つまり、私のメソッド SlowThinker に文字列「Hello」、「Goodbye」、「See you later」が与えられた場合、「」(空の文字列)、「」を返す必要があります。こんにちは」、「さようなら」(など、常に現在の入力の 1 つ後ろ)。
これまでのところ、すべての入力を配列に保存しようとしましたが、実装で何が間違っているのかわかりません。
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"));
本当にありがとう!