编码练习而无法使其发挥作用?

时间:2014-02-15 17:07:26

标签: java algorithm

这是我们在课堂上使用的第3章,所以他们没有多少介绍。我已经在这里待了大约2个小时,不幸的是没有走得太远。这就是问题所在:

编写一个类“Bug”,用于模拟沿水平线移动的错误。该错误向右或向左移动。最初,错误向右移动,但它可以转向改变方向。在每次移动中,其位置在当前方向上改变一个单位。提供构造函数:

Public Bug(int initialPosition)

和方法:

turn,move,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

1 个答案:

答案 0 :(得分:0)

public class Bug {
private int position;
private int diff = 1;

public Bug(int position){
    this.position = position;
}
public void turn(){
    if(diff == 1){
       diff = -1;
    } else {
       diff = 1;
    }
}
public void move(){
    position += diff;

}
public int getPosition(){
    return position;
}  
}

花一些时间学习。