private static final String string1= "food budget-$3.00 per day or $10.00 per week.";
private static final String string2 = "food budget 2 - $2.00 per day or $7.00 per week.";
private static final String string3 = "food budget 3 - $1.00 per day or $5.00 per week.";
private static final String string4 = "food budget 4 - $%4.2f per day or $%5.2f per week.";
private static String calcRateClass(int cat, String food)
{
while(gender.equals("m"))
if(cat > 32 && cat < 64)
return string1;
if(cat > 24 && cat < 31)
return string3;
if (cat > 65)
return string4;
else
while(gender.equals("f"))
if(age > 29 && age < 63)
return string1;
if(age > 24 && age < 30)
return string2;
if (age > 62)
return string4;
}
如果在我的主要部分中稍后满足任何条件,则需要一些帮助来返回字符串 当我调用rateResult = calcCatClass(年龄,性别);
感谢
答案 0 :(得分:0)
您需要一个默认的返回值才能编译。现在,您函数中的最后一个语句是:
if (age > 62)
return string4;
如果你到达函数的这一点,并且age是&lt; = 62,那么你的函数将在没有返回值的情况下到达终点。
您应该添加一个默认返回来进行编译:
if (age > 62)
return string4;
return "ERROR - no conditions met!";
答案 1 :(得分:0)
在String calcRateClass(int cat, String food)
方法中,如果所有条件都无效,则不会返回任何内容,因此将其更改为
String result = "";
if(cat > 32 && cat < 64)
result = string1;
if(cat > 24 && cat < 31)
result = string3;
.
.
return result;
答案 2 :(得分:0)
这是因为您可以到达方法的末尾并且找不到任何return语句,但是您指定将返回一个String。
在这种情况下,您可以添加返回null的最终return语句。