【问题标题】:stuck in FOR Loop卡在 FOR 循环中
【发布时间】:2015-12-18 18:38:02
【问题描述】:

基础汽车类

  1. 当前速度(属性)- 默认值 0
  2. 加速(方法)
  3. 驱动(方法)
  4. 品牌(属性)- 默认值“未知”
  5. 最大速度(属性) - 默认值 0

科迈罗汽车类

继承基础车

  1. 品牌(属性)- 默认值“雪佛兰”
  2. 最大速度(属性)- 默认值 200

代码场景:在这个例子中,我需要创建一个 Camaro 实例并让它开车,我会假设它在直线上移动并且没有其他驱动因素。汽车将加速,直到达到最大速度。要求驱动器调用加速。需要加速将使当前速度增加 1。一旦 Camaro 达到最大速度,它应该停止加速并打印它达到汽车的最大速度。然后驱动器的执行也应该停止。

我的代码低于我尝试打印速度直到达到最大值的位置。我应该在哪里放置 for 循环以打印所有速度递增 1 直到最大值,即 100。如下所示 1 2 3 ...100

<?php
class Car extends CI_Controller 
{

public $_speed = 0;
public $_brand = 'unknown';
public $_max = 0;

public function accelerate($_brand,$_max)
{
    if($this->_speed<=$_max)
    {
        for ($x = 0; $x <= 100; $x++)
        {
            $this->_speed += 1;
            return true;
        }
    }
    else
    {
        echo $this->_brand . 'Reached max speed';
    }

}

public function drive()
{
   $this->accelerate();
}

}
class Camaro extends Car
{
public $_brand = 'Chevy';
public $_max = 100;
}

$car1 = new Camaro();
echo $car1 -> accelerate($car1->_brand, $car1->_max);
?>

【问题讨论】:

  • 问你的问题指出,你有被标记的风险。
  • @jimmyobonyo,投票结束。这可能是一个很好的问题,但是对于版主来说有太多问题无法解决恕我直言。 stackoverflow.com/help/how-to-ask
  • @benjamin 这个程序没有错误。我只是想使用 FOR 循环来打印速度,例如 1 2 3...100,但我无法做到。我是这个社区的新手,所以请原谅我。谢谢
  • 不要把我的选票看成个人,这只是保持 SO 使用效率的审查过程。人们将在此站点上免费帮助他人,因此他们只需要做最少的工作即可回答问题。欢迎来到 SO,@user3622254。
  • 可能重复: stackoverflow.com/questions/34360564/… 在那里解决

标签: php performance loops inheritance for-loop


【解决方案1】:
public function accelerate($_brand,$_max)
{
        for ($x = 0; $x <= 100; $x++)
        {
            $this->_speed += 1;
            if ($this->_speed ==$_max) {
                 echo 'max speed';
                 break; //use it to stop accelarating
            }
        }

}

【讨论】:

  • 它仍在打印“最大速度”100 次。如何打印速度..类似于 1 2 3 4....直到 100
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-06-28
  • 1970-01-01
  • 1970-01-01
  • 2019-08-01
  • 2011-10-18
  • 2015-01-28
  • 2019-03-12
相关资源
最近更新 更多