HackerRank:使用 PHP 的类与实例解决方案(第 4 天 - 30 天的代码)第七部分

任务
编写一个带有实例变量 age 的 Person 类,以及一个采用整数initialAge作为参数的构造函数。构造函数必须在确认传入的参数initialAge不为负后,将initialAge赋值给 age;如果传递负参数作为initialAge,构造函数应将age设置为 0 并且打印 Age 无效,将age设置为 0。此外,您必须编写以下实例方法:

yearPasses()应该将 age 实例变量增加 1
amIOld()应执行以下条件操作:
如果年龄 < 13,打印你还年轻。
如果 age>=13 且 age<18,则打印 You are a teenager。
否则,打印 You are old。
为了帮助您通过示例学习并完成这一挑战,我们为您提供了大部分代码,但您将在未来编写所有代码。创建 Person 类的每个实例的代码都在 main 方法中。如果您还不完全理解,请不要担心!
注意:不要删除或更改编辑器中的存根代码。

解决方案

class Person {
public $age;

public function __construct($initialAge) {
    if ($initialAge < 0) {
        echo "Age is not valid, setting age to 0.\n";
        $this->age = 0;
    } else {
        $this->age = $initialAge;
    }
}

public function amIOld() {
    if ($this->age < 13) {
        echo "You are young.\n";
    } else if ($this->age >= 13 && $this->age < 18) {
        echo "You are a teenager.\n";
    } else {
        echo "You are old.\n";
    }
}

public function yearPasses() {
    $this->age += 1;
}

}

T = i n t v a l ( f g e t s ( S T D I N ) ) ; f o r ( T = intval(fgets(STDIN)); for ( T=intval(fgets(STDIN));for(i = 0; $i < $T; $i++) {
$age = intval(fgets(STDIN));
p = n e w P e r s o n ( p = new Person( p=newPerson(age);
p − > a m I O l d ( ) ; f o r ( p->amIOld(); for ( p>amIOld();for(j = 0; $j < 3; $j++) {
$p->yearPasses();
}
$p->amIOld();
echo “\n”;
}
这是30 天的代码 - 第 4 天的一部分

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Q shen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值