Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/145.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 让机器人在区域内向前移动_Java_Methods - Fatal编程技术网

Java 让机器人在区域内向前移动

Java 让机器人在区域内向前移动,java,methods,Java,Methods,我试图让一个机器人在x轴和y轴上向前移动,这是基于机器人已经面对的方向。我在让机器人移动时遇到了困难,但是,它不会抛出错误。当我运行测试方法时,它显示机器人仍然位于(1,1)。机器人一次只能移动一个空间。到目前为止,我已经用下面的代码尝试了以下步骤。有人能告诉我我做错了什么吗 public void moveForward() { switch (directionRobotsFacing) { case DOWN: getX() getY() + 1;

我试图让一个机器人在x轴和y轴上向前移动,这是基于机器人已经面对的方向。我在让机器人移动时遇到了困难,但是,它不会抛出错误。当我运行测试方法时,它显示机器人仍然位于(1,1)。机器人一次只能移动一个空间。到目前为止,我已经用下面的代码尝试了以下步骤。有人能告诉我我做错了什么吗

public void moveForward() {

    switch (directionRobotsFacing) {
    case DOWN:
        getX() getY() + 1;
        break;
    case RIGHT:
        setLocation(getX() + 1, getY());
        break;
    case UP:
        setLocation(getX(), getY() - 1);
        break;
    case LEFT:
        setLocation(getX() - 1, getY());
        break;
    }
}

private void setLocation(int i, int y) {
    i = getX();
    y = getY();
}
两件事:a)在
setLocation
方法中,您需要更新坐标(
setX(i);setY(y);
),而不是将当前坐标分配给
i
y
。b) 您需要通过在机箱中设置新位置来完成代码。总的来说,只更新开关中涉及的坐标(X或Y)可能更容易。对于DOWN,您可以使用
setY(getY()+1)