2014-11-05 52 views
0

所以我必須使用becker.robots包來前進,拿起一定數量的閃光器,然後轉身放置它們。但是,我不確定如何調用robot.move()方法。每次我嘗試讓它向前移動時,我得到一個編譯器錯誤說:貝克爾機器人:讓他們移動

錯誤:方法移動類becker.robots.Robot不能應用於給定的類型; 要求:沒有發現參數 :整數 原因:實際的和正式的參數列表的長度不同

可能有人請幫我:)

+0

顯示您的代碼。 – tnw 2014-11-05 15:59:49

+0

你能提供你已經嘗試過的代碼嗎? – Unheilig 2014-11-05 15:59:54

回答

0

在卡雷爾/貝克爾移動機器人只能一次移動一個步驟。當然,通過設計。

From the documentation

如果你想前進6位,你需要爲循環做:

for(int i = 0; i < 6; i++) { 
    robot.move(); 
} 

或致電robot.move()的6倍:

robot.move(); 
    robot.move(); 
    robot.move(); 
    robot.move(); 
    robot.move(); 
    robot.move(); 

或者,可以創建一種多次移動它的方法。

void customMove(int move) { 
    for(int i = 0; i < move; i++) { 
     robot.move(); 
    } 
} 

然後customMove(6);的電話會將Karel向前移動6次。

顯然,爲了避免打破卡雷爾,你應該檢查移動前是否清楚,但這是一個移動的概念設計。

0
  • 要求:無參數
  • 發現:整數

你正在寫robot.move(5)或其他東西解決爲一個數字,你應該寫robot.move()。如果您想移動5次​​,則使用例如循環。