0

所以我必须使用 becker.robots 包向前移动并拿起一定数量的闪光灯然后转身放置它们。但是,我不确定如何调用 robot.move() 方法。每次我试图让它向前推进时,我都会收到一个编译器错误消息:

错误:becker.robots.Robot 类中的方法 move 不能应用于给定类型;必需:未找到参数:int 原因:实际参数列表和形式参数列表的长度不同

有人可以帮我:)

4

2 回答 2

0
  • 必需:无参数
  • 发现:int

你正在写作robot.move(5)或其他可以解析为数字的东西,你应该写robot.move(). 例如,如果您想移动 5 次,请使用循环。

于 2014-11-05T16:05:04.897 回答
0

在 Karel/Becker 中移动机器人一次只能移动一步。当然是设计使然。

从文档中。

如果您希望向前移动 6 个空格,则需要执行一个 for 循环:

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 次。

显然,为了避免破坏卡雷尔,你应该在移动之前检查它是否清晰,但这是一个移动的概念设计。

于 2014-11-05T16:05:16.807 回答