如何使用Java找到体育场的容量?

问题描述

这是个问题

编写一个 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)

如果我们查看返回 truefalse 的方法体,那么正确的类型应该是 truefalse 的类型,即 { {1}}


我也可以看到其他一些错误 (<nudge>):

  • 编译器会告诉您在方法的末尾需要一个 <nudges>。 (它不会推断出 returnpeople > capacity 是互斥的。)

    解决这个难题的方法不止一种。

  • 在运行时,people <= capacity 会让你伤心;见Int division: Why is the result of 1/3 == 0?

  • 最重要的是,您有一个名为 80/100 的变量,它似乎并不需要。

,

你可以写

public boolean atCapacity() { ... }