所以我正在制作一个方法,将高度转换为字符串“5英尺8英寸” 老师给了我们这个方法所以它将成为一个不显示的回归
这是我到目前为止所做的但是我确定你可以在回报中写什么,因为它只需要一种类型
public String convertHeightToFeetInches(int newHeight)
{
int leftOver = newHeight % IN_PER_FOOT;
if(newHeight < (IN_PER_FOOT * 2)){
return "1 foot" + leftOver + "inches";
}
}
每次我运行与此类似的东西时,我都会收到返回语句错误。
答案 0 :(得分:1)
鉴于这是您的代码:
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英寸”,当剩余部分为零时。在这种情况下,您需要在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();
}
我现在就把你留在那里......看你怎么走......
编辑:
我感到沮丧,因为我所做的每一种方法都会收到返回错误
在您目前的代码中,您有两个可能的执行路径,但只有一个路径返回一个值。
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
}
}
答案 1 :(得分:0)
将String
返回类型更改为int
返回类型,并且不要忘记在方法结束时返回值。
public int convert heightToFeetInches() {
int leftOver = (heightInInches % 12);
return leftOver;
}
或者,如果你想像String
那样返回,请执行以下操作:
public String convert heightToFeetInches() {
int leftOver = (heightInInches % 12);
return String.valueOf(leftOver);
}
OOT:你以前是C / C ++ / C#程序员吗?如果是,请确保所有方法和变量为第一个单词heightToFeetInches()
制作小写,以免使用HeightToFeetInches()
以防止误解其他程序员。因为在Java中我们使用大写来表示它是class
或interface
而小写的第一个单词是method
或variable
。
答案 2 :(得分:0)
想想如何在不返回的情况下创作字符串 - 只是一个普通的print语句。然后,不是打印它,而是返回String。
您可以稍后打印返回的结果;例如System.out.println(convertFeetToHeightInches("68 inches"));
答案 3 :(得分:0)
只需创建一个String对象并为其指定一个空值。稍后,您可以将结果存储在此对象中并返回 ,如下所示:
public String convertHeightToFeetInches(int newHeight) {
final int IN_PER_FOOT = 12;
int leftOver = newHeight % IN_PER_FOOT;
String result = "";
if(newHeight < (IN_PER_FOOT * 2)){
result = "1 foot " + leftOver + " inches";
} else {
} return result;
}
你可以这样调用这个方法:
String conversion = convertHeightToFeetInches(5);
答案 4 :(得分:0)
//在您的实例变量中
public static final int IN_PER_FOOT = 12;
private int height;
//你的方法
public String convertheightToFeetInches()
{
int leftOver = (height %= IN_PER_FOOT);
int newHeight = (height % IN_PER_FOOT);
return newHeight + "Foot" + leftOver + "Inches";
}
//我的高度方法没有显示,但它很简单,你应该已经得到那个部分