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; //.
LinearPerson.javaPlease help me the JAVA programPlease provide t.pdf
1. 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) {
2. 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
}
}
}
3. 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();
4. 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