2017-09-16 5 views
-3

正の整数nで始まり1で終わるHailstoneシーケンスで構成される文字列を返します。 文字列は一連の数字で構成され、数字の後には1つのスペースが続きます。シーケンス番号に数字 (1以外)が表示された場合は、nextHailstone(m)を続けてください。 例:nextHailstone(1)は "1"で、nextHailstone(5)は "5 16 8 4 2 1"です。私のテストケースが雹の方法で失敗したのはなぜですか?

メインメソッドでメソッドを呼び出すとコードが正常に機能しますが、テストケースが失敗しています。

@Test 
public void testHailstones() 
{ 
    assertEquals("1 ", hailstones(1)); 
    assertEquals("16 8 4 2 1 ", hailstones(16)); 
    assertEquals("7 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1 ", hailstones(7)); 
} 

これらはテストケースです。これについての洞察はすばらしいでしょう。ありがとう!

+1

シーケンスを正しく印刷している可能性がありますが、文字列は返されません。雹を格納するには文字列が必要なので、単体テストは成功します。 – gameweld

+0

あなたは '' 'を返しています。そのためです。なぜ結果を返さないのですか? – Ofisora

+0

@Ofisora:毎回「1」を返します。 – Makoto

答えて

4

関数が呼び出されるたびに" "が返されます。あなたは内部の文字列を構築し、それを結果として返す必要があります。

関連する問題