機器人從位置(0,0)向東開始。幾個蜂鳴器堆棧隨機放置在該行上,每個蜂鳴器都包含一些蜂鳴器。機器人從位置(0,0)向東開始。幾個蜂鳴器堆棧隨機放置在該行上,每個蜂鳴器都包含一些蜂鳴器。可能有不同數量的蜂鳴器堆棧。但是在位置(0,0)總是有一個蜂鳴器堆棧,而在位置(16,0)處總是有一個蜂鳴器堆棧 - (機器人世界的盡頭)。如何使計數器在java中的多個方法?
需要編寫一個方法,使機器人沿着該行移動,並拾取每個蜂鳴器堆棧。該方法應該不返回任何值並且不帶任何參數。 機器人拿起最後一個堆垛後,程序應打印總共拾取了多少個撿拾器。 消息應該是這樣的:拿起n個蜂箱, 其中n是拾取蜂箱的數量。 程序必須定義並使用這兩個附加方法: moveRobotToNextStack(),它將機器人向前移動,直到找到下一個堆棧 和 pickUpBeeperStack(),它拾取堆棧中的所有存儲器。 我的代碼:
public class Q4 {
void pickUpAllStacks() {
int counter=0;
pickUpBeeperStack();
moveRobotToNextStack();
counter += pickUpBeeperStack();
print("Picked up "+ counter +" beepers");
}
void moveRobotToNextStack() {
while(isSpaceInFrontOfRobotClear()) {
moveRobotForwards();
pickUpBeeperStack();
}
}
int pickUpBeeperStack() {
int counter=0;
while(isItemOnGroundAtRobot()) {
pickUpItemWithRobot();
counter++;
}
return counter;
}
}
我不能在所有堆棧計數器計數傳呼機。
你可以使用一個靜態的int計數器並在你的方法裏增加它的值 – thiagoh
聽起來像你想把「private int counter = 0;」在所有功能之外,並從功能中刪除它。 – developerwjk
所以,如果我理解它正確,你想在'pickUpBeeperStack()'和'pickUpAllStacks()'方法中增加'counter'? –