LinearPersonjava Please help me the JAVA program Please prov
LinearPerson.java
Please help me the JAVA program
Please provide the output.
LinearPerson A LinearPerson lives on a number line. At any time, he or she has a position, such as 0 or 3 or -5. He or she can move one position at a time. He or she has a direction of movement. So if a LinearPerson is moving right and is at position -3, the new position will be -2. If a LinearPerson is moving left and is at position -3, the new position will be -4. The following describes the LinearPerson class: You should decide the instance variables needed for LinearPerson. Overloaded constructors: a no-argument constructor that sets the current position at 0 and the current direction as \"to the right.\" a constructor that takes one int as a parameter; the parameter represents the initial position of the LinearPerson methods: public void turn() // changes the direction of the LinearPerson (right to left, or left to right) public void move() // moves the LinearPerson one position in his or her current direction public int getPosition() // returns the current position of the LinearPerson As an example LinearPerson sophie = new LinearPerson(); // sophie is at position 0, moving right sophie.turn(); // sophie is at position 0, moving left sophie.move(); // sophie is at position -1, moving left sophie.move(); // sophie is at position -2, moving left sophie.turn(); // sophie is at position -2, moving right sophie.move(); // sophie is at position -1, moving right Create a class LinearPersonPairthat creates two LinearPerson objects, one using the no-argument constructor, the other object should be created at a given location. The program moves the objects in various directions and prints their final locations.Solution
class LinearPerson {
private String direction; // current direction
private int position; // current position
public static final String RIGHT = \"right\";
public static final String LEFT = \"left\";
// no arg constructor
public LinearPerson() {
this.position = 0;
this.direction = LinearPerson.RIGHT;
}
//arg constructor
LinearPerson(int position) {
this.position = position; // setting the initial position
if (position >= 0) {
this.direction = LinearPerson.RIGHT; // setting the direction to right if position is >=0
} else {
this.direction = LinearPerson.LEFT; // setting the direction to left if position is < 0
}
}
//get the curent direction
public String getDirection() {
return direction;
}
// get the current position
public int getPosition() {
return position;
}
// method to turn the direction
public void turn(){
if(this.direction==LinearPerson.RIGHT){
this.direction=LinearPerson.LEFT; // set the direction to left if current direction is right
}else{
this.direction=LinearPerson.RIGHT; // set the direction to left if current direction is right
}
}
//method to move the position in current direction
public void move(){
if(this.direction==LinearPerson.RIGHT){
this.position=this.position+1; // move the position to right
}else{
this.position=this.position-1; // move the position to left
}
}
}
public class LinearPersonPair {
/**
* @param args
*/
public static void main(String[] args) {
LinearPerson sophie=new LinearPerson(); // make one object with no arg constructor
System.out.println(\"Sophie is at postion \"+sophie.getPosition()+\", moving \"+sophie.getDirection());
sophie.turn();
System.out.println(\"Sophie is at postion \"+sophie.getPosition()+\", moving \"+sophie.getDirection());
sophie.move();
System.out.println(\"Sophie is at postion \"+sophie.getPosition()+\", moving \"+sophie.getDirection());
sophie.move();
System.out.println(\"Sophie is at postion \"+sophie.getPosition()+\", moving \"+sophie.getDirection());
sophie.turn();
System.out.println(\"Sophie is at postion \"+sophie.getPosition()+\", moving \"+sophie.getDirection());
sophie.move();
System.out.println(\"Sophie is at postion \"+sophie.getPosition()+\", moving \"+sophie.getDirection());
System.out.println(\"----------------Making Another object-------------\");
LinearPerson jack = new LinearPerson(-2); // make another object with arg constructor
System.out.println(\"Jack is at postion \"+jack.getPosition()+\", moving \"+jack.getDirection());
jack.move();
System.out.println(\"Jack is at postion \"+jack.getPosition()+\", moving \"+jack.getDirection());
jack.turn();
System.out.println(\"Jack is at postion \"+jack.getPosition()+\", moving \"+jack.getDirection());
jack.move();
System.out.println(\"Jack is at postion \"+jack.getPosition()+\", moving \"+jack.getDirection());
}
}
-------------------------------------------------------------------------------------------------------------------------------------------------
output :
Sophie is at postion 0, moving right
Sophie is at postion 0, moving left
Sophie is at postion -1, moving left
Sophie is at postion -2, moving left
Sophie is at postion -2, moving right
Sophie is at postion -1, moving right
----------------Making Another object-------------
Jack is at postion -2, moving left
Jack is at postion -3, moving left
Jack is at postion -3, moving right
Jack is at postion -2, moving right


