I am having problem with calculating the angle using sin. So far, I got the literal of numbers, which is not making sense.
I am supposed to match my answers with this:

Set up new triangle with coordinates (0.0, 0.0), (3.0, 0.0), (3.0, 4.0)
Area: 6.0
Parimeter: 12.0
Length side a: 4.0
Length side b: 5.0
Length side c: 3.0
Angle A: 53.13010235415598
Angle B: 90.0
Angle C: 36.86989764584402
Height: 4.0

But I got this:

Set up new triangle with coordinates (0.0,0.0), {3.0,0.0), (3.0,4.0)
Area: 6.0
Parameter: 12.0
Length side a: 4.0
Length side b: 5.0
Length side c: 3.0
Angle A: 0.9272952180016123
Angle B: 1.5707963267948966
Angle C: 0.6435011087932843
Height: 4.0

Where do I go wrong?

Test Class

``````import javax.swing.JOptionPane;

public class TriangleTester
{
public static void main(String args[])
{
/*Initializes the variables.
Getting the coordinates from the user
*/
double xPointA =  Double.parseDouble(JOptionPane.showInputDialog("Enter x1 for point A:"));
double yPointAB = Double.parseDouble(JOptionPane.showInputDialog("Enter y1 for point A and B:"));
double x2PointB = Double.parseDouble(JOptionPane.showInputDialog("Enter x2 for point B:"));
double x3PointC = Double.parseDouble(JOptionPane.showInputDialog("Enter x3 for point C:"));
double y2PointC = Double.parseDouble(JOptionPane.showInputDialog("Enter y2 for point C:"));

//Creating an object
Triangle math = new Triangle();

math.calcLength(xPointA,yPointAB,x2PointB,yPointAB,x3PointC,y2PointC);
math.calcParameter();
math.calcArea(y2PointC);

System.out.println("Set up new triangle with coordinates (" + xPointA + "," + yPointAB + "), {"
+ x2PointB + "," + yPointAB + "), (" + x3PointC + "," + y2PointC + ")");

System.out.println("Area: " + math.getArea());
System.out.println("Parameter: " + math.getParimeter());
System.out.println("Length side a: " + math.getLengthA());
System.out.println("Length side b: " + math.getLengthB());
System.out.println("Length side c: " + math.getLengthC());
System.out.println("Angle A: " + math.getAngleA());
System.out.println("Angle B: " + math.getAngleB());
System.out.println("Angle C: " + math.getAngleC());
System.out.print("Height: " + y2PointC);
}
}``````

Functional Class

``````import java.lang.Math;

public class Triangle
{
//Insti
double area;
double lengthA;
double lengthB;
double lengthC;
double angleA;
double angleB;
double angleC;
double paraNum;

public void calcLength(double Ax, double Ay, double Bx, double By, double Cx, double Cy)
{

lengthA = (Math.pow((Cx - Bx),2) + Math.pow((Cy -By), 2));
lengthA = Math.sqrt(lengthA);

lengthB = (Math.pow((Cx - Ax),2) + Math.pow((Cy -Ay), 2));
lengthB = Math.sqrt(lengthB);

lengthC = (Math.pow((Bx - Ax),2) + Math.pow((By -Ay), 2));
lengthC = Math.sqrt(lengthC);
}

//Calculate the area with the parameter of height.
public void calcArea(double height)
{
area = (lengthC * height);
area = area / 2;
}

public void calcParameter()
{
paraNum = lengthA + lengthB + lengthC;
}

public double getParimeter()
{
return paraNum;
}

public double getLengthA()
{
return lengthA;
}

public double getLengthB()
{
return lengthB;
}

public double getLengthC()
{
return lengthC;
}

public double getAngleA()
{
angleA = Math.acos((lengthB*lengthB + lengthC*lengthC - lengthA*lengthA) / (2*lengthB*lengthC));
return angleA;
}

public double getAngleB()
{
angleB = Math.acos((lengthA*lengthA + lengthC*lengthC - lengthB*lengthB) / (2*lengthA*lengthC));
return angleB;
}

public double getAngleC()
{
angleC = Math.acos((lengthB*lengthB + lengthA*lengthA - lengthC*lengthC) / (2*lengthB*lengthA));
return angleC;
}

public double getArea()
{
return area;
}
}``````

As indicated by API :
acos
public static double acos(double a)Returns the arc cosine of a value; the returned angle is in the range 0.0 through pi.
The return value of Math.acos is in radian instead of degree. It has to be multiplied by 57.296 (180/PI) to become the value in degree.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.