你如何在Java中正确定义命令?

时间:2015-02-02 20:28:20

标签: java subclass

我正在学习使用becker机器人进行编程。我正在努力的是如何缩短争论。例如,更改: 转左() turnLeft()

之类的: 回转()  我试过用几个不同的命令做这个         import becker.robots。*;

public class addingservices extends Robot
{

  public addingservices(london, 5, 5, Direction.SOUTH)
  { super(london, 5, 5, Direction.SOUTH);
    }

City = London = new City();
Robot lisa = new Robot(london, 1, 1);


public void turnAround()
{ this.turnLeft();
  this.turnLeft();
}

public void move3()
{this.move();
  this.move();
  this.move();
}

public void turnRight()
{this.turnLeft();
  this.turnLeft();
  this.turnLeft();
}

public void turnRight()
{this.turnAround();
  this.turnLeft();
}

lisa.turnAround();
lisa.move3();
lisa.turnRight();
lisa.move3();

}

我对Java很新,所以请怜悯我的灵魂

1 个答案:

答案 0 :(得分:2)

你需要一个主要方法来实际运行某些东西。类似的东西:

public static void main(String[] args){
    addingservices lisa = new addingservices([some arguments go here])
    lisa.turnAround();
    lisa.move3();
    lisa.turnRight();
    lisa.move3();
}

这通常放在类的底部,在类代码括号内。 IOW,它将取代你现在为“lisa”提供的四个命令。 另外,你有一个奇怪的构造函数标题:

public addingservices(london, 5, 5, Direction.SOUTH)

我很惊讶Java允许这个编译。您需要具有已定义参数的内容,例如(从Robot构造函数借用):

public addingservices(City aCity, int aStreet, int anAvenue, Direction aDirection)

然后,在构造函数本身中,您将aCity,aStreet,anAvenue和aDirection传递给超级构造函数。

然后,您需要创建一个城市:

City london = new City(10,10);

这将允许你作为主要参数传入伦敦。因此,读取[某些参数到此处]的行现在将显示为:

`addingservices lisa = new addingservices(london,5,5,Direction.SOUTH);

这是清楚的吗?

如果我的回答对您有所帮助,如果您接受它,我将非常感激(点击左侧的复选框)。这样,我的努力就会得到回报。