In the previous article, we have discussed about Java Program to Calculate the Length of Hypotenuse
In this article we are going to see how to return -1 if point is on Left and 1 if point is on Right by using Java programming language.
Java Program to Return -1 if Point is on Left and 1 if Point is on Right
Before Jumping into the program directly let’s see how to Return -1 if Point is on Left and 1 if Point is on Right.
Suppose there is a line segment SE, Where the starting point is S having coordinates sx, sy ,Ending point E is having coordinates ex, ey and we draw a point p having coordinates px, py
So if the point P lies in between SE then returns 0
If the point P lies in left side of SE then returns -1
If the point P lies in right side of SE then returns 1
We can check the point using distance formula
SP = √(PX-SX)2 + (PY-SY)2
EP = √(PX-EX)2 + (PY-EY)2
SE = √(SX-EX)2 + (SY-EY)2
Now,
If SP + EP = SE, Then point lies in between SE (returns 0)
If SP + EP != SE, && SP < EP Then point lies in left side of SE (returns -1)
If SP + EP != SE, && SP > EP Then point lies in right side of SE (returns 1)
Example:
Sx = 0, sy = 0 , ex = 0 , ey = 5, px = 0, py = (-9)
SP = 9
EP = 14
SE = 5
Since SP < EP, hence point P lies in left side of SE & returns -1
Let’s see different ways to return -1 if point is on Left and 1 if point is on Right.
Method-1: Java Program to Return -1 if Point is on Left and 1 if Point is on Right By Using Static Input Value
Approach:
- Declare an double variable say ‘sx’ and assign the value to it, which holds the x coordinate of point S
- Declare an double variable say ‘sy’ and assign the value to it, which holds the y coordinate of point S
- Declare an double variable say ‘px’ and assign the value to it, which holds the x coordinate of point P
- Declare an double variable say ‘py’ and assign the value to it, which holds the y coordinate of point P
- Declare an double variable say ‘ex’ and assign the value to it, which holds the x coordinate of point E
- Declare an double variable say ‘ey’ and assign the value to it, which holds the y coordinate of point E
- Find the distance of SP, EP, SE using the distance formula
- SP = √(PX-SX)2 + (PY-SY)2
- EP = √(PX-EX)2 + (PY-EY)2
- SE = √(SX-EX)2 + (SY-EY)2
- Print the result.
Program:
public class Main
{
public static int check(float sx,float sy,float ex,float ey,float px,float py)
{
double sp = Math.sqrt(Math.pow(px-sx,2)+Math.pow(py-sy,2));
double ep = Math.sqrt(Math.pow(px-ex,2)+Math.pow(py-ey,2));
double se = Math.sqrt(Math.pow(ex-sx,2)+Math.pow(ey-sy,2));
if (sp+ep == se)
return 0;
else if (sp+ep != se && sp < ep)
return -1;
else
return 1;
}
public static void main(String[] args)
{
float sx = 0;
float sy = 0;
float ex = 0;
float ey = 5;
float px = 0;
float py = -9;
int result = check(sx,sy,ex,ey,px,py);
System.out.println(result);
}
}
Output: -1
Method-2: Java Program to Return -1 if Point is on Left and 1 if Point is on Right By Using User Input Value
Approach:
- Declare an double variable say ‘sx’ which holds the x coordinate of point S
- Declare an double variable say ‘sy’ which holds the y coordinate of point S
- Declare an double variable say ‘px’ which holds the x coordinate of point P
- Declare an double variable say ‘py’ which holds the y coordinate of point P
- Declare an double variable say ‘ex’ which holds the x coordinate of point E
- Declare an double variable say ‘ey’ which holds the y coordinate of point E
- Then we will take the value of “sx”, “sy”, “px”, “py”, “ex”, “ey” as user input using scanner class.
- Find the distance of SP, EP, SE using the distance formula
- SP = √(PX-SX)2 + (PY-SY)2
- EP = √(PX-EX)2 + (PY-EY)2
- SE = √(SX-EX)2 + (SY-EY)2
- Print the result.
Program:
import java.util.*;
public class Main
{
public static int check(double sx,double sy,double ex,double ey,double px,double py)
{
// formula to find distance of SP, EP, SE
double sp = Math.sqrt(Math.pow(px-sx,2)+Math.pow(py-sy,2));
double ep = Math.sqrt(Math.pow(px-ex,2)+Math.pow(py-ey,2));
double se = Math.sqrt(Math.pow(ex-sx,2)+Math.pow(ey-sy,2));
// Checking conditions
if (sp+ep == se)
return 0;
else if (sp+ep != se && sp < ep)
return -1;
else
return 1;
}
public static void main(String[] args)
{
Scanner s = new Scanner(System.in);
System.out.println("Enter the x coordinate of starting point S");
double sx = s.nextDouble();
System.out.println("Enter the y coordinate of starting point S");
double sy = s.nextDouble();
System.out.println("Enter the x coordinate of ending point E");
double ex = s.nextDouble();
System.out.println("Enter the y coordinate of ending point E");
double ey = s.nextDouble();
System.out.println("Enter the x coordinate of point P");
double px = s.nextDouble();
System.out.println("Enter the y coordinate of point P");
double py = s.nextDouble();
int result = check(sx,sy,ex,ey,px,py);
System.out.println("----------------------------------------------");
System.out.println(result);
}
}
Output: Enter the x coordinate of starting point S 0 Enter the y coordinate of starting point S 0 Enter the x coordinate of ending point E 0 Enter the y coordinate of ending point E 5 Enter the x coordinate of point P 0 Enter the y coordinate of point P 3 ---------------------------------------------- 0
Don’t stop learning now. Get hold of all the important Java fundamentals with the Simple java program example guide and practice well.
Related Java Programs: