0

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

我的方法:

boolean pickUpNBeepersCheckIfAll(int beeper) {
    int counter=0;
        while(beeper>counter) {
            pickUpItemWithRobot(); 
            counter++;
            beeper--;
            if(beeper==0) return true;
        } 
     return false;
   }

这是我的代码,我找不到错误,因为有四种结果:拾取随机蜂鸣器(不是全部)、拾取一个蜂鸣器、拾取 10 个蜂鸣器和拾取零个蜂鸣器。所以在这里我有2个错误。

4

1 回答 1

0

我想我知道你在哪里失败了。

基本上,蜂鸣器堆与您要拾取的蜂鸣器数量不同。您将它们视为同一件事。

我也很困惑为什么你有一个柜台。你不需要知道你捡了多少个蜂鸣器——你总是会捡到你接收的相同的数字。你唯一关心的是你有没有剩下的蜂鸣器把它们都捡起来。

我会做什么(根据您的代码和问题)

boolean pickUpNBeepersCheckIfAll(int beeper) {
     for(int x = 0; x < beeper; x++)
         pickUpItemWithRobot();
         beeperStack--;
     }
     if(beeperStack > 0)
     {
         return false;
     }
     return true;
   }

其中 beeperStack 是全局预定义变量,包含此特定堆栈内的蜂鸣器数量。

编辑:我还要记住,我们需要比“它不起作用!”更多的信息。除其他外,了解pickingItemWithRobot() 的作用会有所帮助。

于 2013-09-30T21:42:28.263 回答