Java 移动机器人

Java 移动机器人,java,Java,方法pickupnbeperscheckifall(),该方法接受一个整数参数,并使最近创建的机器人在其当前位置从蜂鸣器堆栈拾取该数量的蜂鸣器。 您可以假设堆栈中有足够的传呼机,以便机器人安全地执行此操作。 如果机器人在其当前位置拾取了所有寻呼机,则该方法应返回true;如果地面上仍有寻呼机,则该方法应返回false 我的方法: boolean pickUpNBeepersCheckIfAll(int beeper) { int counter=0; while(beep

方法pickupnbeperscheckifall(),该方法接受一个整数参数,并使最近创建的机器人在其当前位置从蜂鸣器堆栈拾取该数量的蜂鸣器。 您可以假设堆栈中有足够的传呼机,以便机器人安全地执行此操作。 如果机器人在其当前位置拾取了所有寻呼机,则该方法应返回true;如果地面上仍有寻呼机,则该方法应返回false

我的方法:

boolean pickUpNBeepersCheckIfAll(int beeper) {
    int counter=0;
        while(beeper>counter) {
            pickUpItemWithRobot(); 
            counter++;
            beeper--;
            if(beeper==0) return true;
        } 
     return false;
   }
这是我的代码,我找不到错误,因为有四个结果:
拿起随机传呼机(不是全部),拿起一个传呼机,拿起10个传呼机,拿起零个传呼机。所以这里我有两个错误。

我想我看到了你失败的地方

基本上,一堆传呼机与您想要拾取的传呼机数量不同。你把他们当作一回事

我也不明白你为什么有柜台。你不需要知道你接了多少个寻呼机——你总是会接同一个号码。你唯一关心的是,在你把所有的寻呼机都拾起来之后,是否还有剩余的寻呼机

我会怎么做(基于您的代码和问题)

boolean pickupnbeperscheckifall(int蜂鸣器){
用于(int x=0;x0)
{
返回false;
}
返回true;
}
其中,beeperStack是全局预定义变量,其中包含此特定堆栈中的寻呼机数


编辑:我还要记住,我们需要更多的信息,而不是“它不起作用!”。了解pickupItemWithRobot()的功能将有所帮助。

问题是什么?您是否应该在同一次迭代中减少
蜂鸣器
并增加
计数器
。。。?idk这似乎不太正确,虽然我不太明白你在问什么,但我很确定问题是“counter”变量不应该存在。你的循环条件应该是
while(beeper>0)
,我找不到错误
,这意味着你的代码是正确的?“所以我这里有两个错误。”它们是什么?如何调用此方法?期望输出与实际输出是什么?
boolean pickUpNBeepersCheckIfAll(int beeper) {
     for(int x = 0; x < beeper; x++)
         pickUpItemWithRobot();
         beeperStack--;
     }
     if(beeperStack > 0)
     {
         return false;
     }
     return true;
   }