一个PHP程序的细分,它将从5个分数中获得平均分、最高分和最低分

mgdq6dx1  于 2022-11-28  发布在  PHP
关注(0)|答案(1)|浏览(202)

我仍然不熟悉PHP,但我的任务是完成以下工作
用PHP创建一个程序,根据团队的5个得分,计算平均分、最高分和最低分。给定teamscore = {85,70,90,95,88}。您的程序必须具有相应的函数:显示分数()、取得平均分数()、取得最高分数()、取得最低分数()。提示:对于displayScores(),您应该将它们设置为字符串以显示所有分数。我希望看到代码和它如何工作的详细信息,以便更深入地了解它
我试着使用参考给我们,但我不能理解它那么多,所以我研究谷歌上找到一个类似的解决方案,但没有。

idv4meu8

idv4meu81#

我们将创建一个具有属性scores数组和4个方法getScoresgetAvaragegetHighestgetLowest的类:

class Scores
{
    private array $scores;

    /**
     * we pass the scores to the constructor and sort them
     * @param array $scores
     */
    public function __construct(array $scores)
    {
        sort($scores); // sort method uses the pointer
        $this->scores = $scores;
    }

    public function getScores(): array
    {
        return $this->scores;
    }

    public function getAvarage(): float
    {
        return array_sum($this->scores) / count($this->scores);
    }

    public function getHighest(): int
    {
        return end($this->scores); // we will return the last element of the array as it's already sorted ascending
    }

    public function getLowest(): ?int
    {
        return $this->scores[0] ?? null; // we will return the first element of the array if it's set, or null if it's not
    }
}

这是一个简单实现,如果有不清楚的地方请告诉我
编辑:下面是如何使用它:

$scores = new Scores([85, 70, 90, 95, 88]);

$avarage = $scores->getAvarage();
$highest = $scores->getHighest();
$lowest = $scores->getLowest();

相关问题