我需要编写名为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);
}
答案 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);
}