鉴于这是您的代码:
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 英尺”而不是“1 英尺 0 英寸”。在这种情况下,您需要在 a 中构建字符串StringBuilder
,然后在完成后返回结果。您是现有代码,使用StringBuilder
become (但仍然没有所需的空格字符):
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();
}
我会把你留在那里……看你怎么走……
编辑:
我很沮丧,因为我所做的每一种方法都会收到返回语句错误
在您目前的代码中,您有两种可能的执行路径,但只有一个路径返回一个值。
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
}
}