所以我必须使用 becker.robots 包向前移动并拿起一定数量的闪光灯然后转身放置它们。但是,我不确定如何调用 robot.move() 方法。每次我试图让它向前推进时,我都会收到一个编译器错误消息:
错误:becker.robots.Robot 类中的方法 move 不能应用于给定类型;必需:未找到参数:int 原因:实际参数列表和形式参数列表的长度不同
有人可以帮我:)
你正在写作robot.move(5)
或其他可以解析为数字的东西,你应该写robot.move()
. 例如,如果您想移动 5 次,请使用循环。
在 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 次。
显然,为了避免破坏卡雷尔,你应该在移动之前检查它是否清晰,但这是一个移动的概念设计。