Java 中的计数器参数



我需要编写名为clearStacks()的方法和另一个称为pickUpStack()的方法,如下所示:

  • pickUpStack() 应该拿起一堆蜂鸣器,计数并打印出它的大小。它应该计算蜂鸣器并打印出堆栈中有多少。

  • clearStacks() 应该清除一排蜂鸣器。它应该调用pickUpStack()来完成拾取一个堆栈的工作。

我的代码包括蜂鸣器的总数,但是我需要写下从每个堆栈中拾取的蜂鸣器数量。

int pickUpStack()
{
    int numBeeper=0;
    while(isItemOnGroundAtRobot())
    {
        pickUpItemWithRobot();
        ++numBeeper;
    }
    return numBeeper;
}
void moveRobotToNextStack()
{
    while(!isItemOnGroundAtRobot()&&!isRobotFacingWall())
        moveRobotForwards();
}
void clearStacks()
{    
    int numBeeper=0;
    numBeeper=pickUpStack();
    while(!isRobotFacingWall())
    {
        moveRobotToNextStack();
        numBeeper+=pickUpStack();
    }
    println("Beepers: "+numBeeper);
}

您可以通过多种方式统计从每个堆栈中拾取的蜂鸣器数量。 你选择哪一个实际上取决于你的要求。

pickUpStack()方法打印它:

int pickUpStack()
{
    int numBeeper=0;
    while(isItemOnGroundAtRobot())
    {
        pickUpItemWithRobot();
        ++numBeeper;
    }
    println("Beepers from current stack" + numBeeper);
    return numBeeper;
}

或者保留返回值的List

void clearStacks()
{    
    List beeperList = new ArrayList();
    int numBeeper=0;
    numBeeper=pickUpStack();
    while(!isRobotFacingWall())
    {
        moveRobotToNextStack();
        int currentBeepers = pickUpStack();
        beeperList.add(currentBeepers);
        numBeeper+=currentBeepers ;
    }
    for(int i = 0; i< beeperList.size(); i++)
        println("Stack " + i + " contains " + beeperList.get(i) + " beepers");
    println("Total beepers: "+numBeeper);
}

最新更新