Java中的计数器参数

时间:2013-10-22 01:43:55

标签: 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);
}

1 个答案:

答案 0 :(得分:0)

有多种方法可以记录从每个堆栈中拾取的蜂鸣器数量。你选择哪一个真的取决于你的要求。

使用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);
}