问题描述
这是个问题
编写一个 atCapacity(int people,int capacity) 方法,该方法返回一个布尔值,确定体育场是否达到最大容量。如果至少 80% 的座位已售罄,则体育场已满座。
这是我试过的代码
public class Scratchpad
{
atCapacity(int people,int capacity)
{
boolean atCapacity = false;
capacity = people * (80/100);
if(people > capacity)
{
return false;
}
else if(people <= capacity)
{
return true;
}
}
}
代码检查器说
"Grader.java:第 4 行:方法声明无效;返回类型 需要”
我不明白如何修复代码。我不是在寻求答案,我只是需要朝着正确的方向轻推。谢谢
解决方法
这应该是一个方法声明:
atCapacity(int people,int capacity)
但是方法声明的语法需要返回类型,如
SomeReturnType atCapacity(int people,int capacity)
如果我们查看返回 true
和 false
的方法体,那么正确的类型应该是 true
和 false
的类型,即 { {1}}
我也可以看到其他一些错误 (<nudge>
):
-
编译器会告诉您在方法的末尾需要一个
<nudges>
。 (它不会推断出return
和people > capacity
是互斥的。)解决这个难题的方法不止一种。
-
在运行时,
people <= capacity
会让你伤心;见Int division: Why is the result of 1/3 == 0?。 -
最重要的是,您有一个名为
80/100
的变量,它似乎并不需要。
你可以写
public boolean atCapacity() { ... }