0
这是我们班上使用的第三章,所以他们没有介绍太多。我已经在这里待了大约2个小时,并且很不幸很不幸。这就是问题所在:编码练习,无法使其工作?
写一个模拟沿着水平线移动的错误的类“Bug”。该错误向右或向左移动。最初,错误向右移动,但它可以转向改变方向。在每次移动中,其位置在当前方向上改变一个单位。提供一个构造函数:
公开的错误(INT initialPosition)
和方法:
反过来,此举为getPosition
这是它应该如何在一个测试类工作的样本
bug bug1 = new bug(10)
bug1.move // now the position is 11
bug1.turn // changes direction
bug1.move // now the position is 10
这是我迄今为止所有的。
public class Bug {
private int initialPosition;
private int currentPosition;
public Bug(int initialPosition){
this.initialPosition = initialPosition + 1;
}
public void turn(){
}
public void move(){
currentPosition = initialPosition++;
}
public int getPosition(){
return currentPosition;
}
}
和我的测试类
public class BugTester {
public static void main(String[] args) {
Bug roach = new Bug(10);
roach.move();
roach.move();
System.out.println(roach.getPosition());
}
}
输出:12
输出结果与您的期望值有何不同? –
为什么你认为你需要一个领域的初始位置?你为什么认为移动应该无条件地增加这个位置?你为什么认为你不需要记住现场的方向? –
您需要在Bug类中有一个字段,指出该错误面向哪个方向,以便程序知道在错误移动时是增加还是减少位置。 –