これがあなたのコードだとすると:
public String convertHeightToFeetInches()
{
int leftOver = newHeight % IN_PER_FOOT;
if(newHeight < (IN_PER_FOOT * 2)){
System.out.println("1 foot" + leftOver + "inches");
}
}
文字列を返すには、次のようにします。
public String convertHeightToFeetInches()
{
int leftOver = newHeight % IN_PER_FOOT;
if(newHeight < (IN_PER_FOOT * 2))
{
return "1 foot" + leftOver + "inches";
}
}
ただし、これは「1 フィート」と「X インチ」の間にスペースを入れないことに注意してください。あなたはこれを得るでしょう:
1 フィート 3 インチ
いくつかのスペースを追加する必要があります。もちろん、追加のクレジットとして、残りがゼロの場合、「1 フィート 0 インチ」ではなく、単純に「1 フィート」と表示することもできます。その場合、 で文字列を構築し、StringBuilder
終了したら結果を返す必要があります。を使用して、既存のコードですStringBuilder
(ただし、必要なスペース文字はまだありません)。
public String convertHeightToFeetInches()
{
StringBuilder buff = new StringBuilder();
int leftOver = newHeight % IN_PER_FOOT;
if(newHeight < (IN_PER_FOOT * 2))
{
buff.append("1 foot");
buff.append(leftOver);
buff.append(inches);
}
return buff.toString();
}
この時点であなたをそこに残します...様子を見てください...
編集:
私が行うすべてのメソッドがリターンステートメントエラーを取得しているため、私はイライラしています
現在、コードには 2 つの実行パスがありますが、値を返すパスは 1 つだけです。
public String convertHeightToFeetInches()
{
int leftOver = newHeight % IN_PER_FOOT;
if(newHeight < (IN_PER_FOOT * 2))
{
return "1 foot" + leftOver + "inches"; // we return a value - good
}
else // there is also this execution path ...
{
// ... and you don't return anything - bad
}
}