calculate area of triangle given 3 user defined points -Beginner
Solution 1
You should try implementing this equation. http://www.mathopenref.com/coordtrianglearea.html
Solution 2
@Michael's suggestion is a good one. Following your code, I'd use Pythagoras' Theorem like this:
side1 = Math.sqrt(
Math.pow((side2x - side1x), 2)
+ Math.pow((side2y - side1y), 2));
In your code:
side1 = Math.pow(
Math.pow((side2x - side1x), 2)
+ Math.pow((side2y - side1y), 2) * .05
, side1);
side1
is 0
before the calculation, and almost anything to the power 0
is 1. Therefore side1
ends as 1 regardless of the points.
![Lish](https://i.stack.imgur.com/obmvT.jpg?s=256&g=1)
Lish
I am currently taking CIS to try to improve my skills and change career paths, or enhance them. I am very new at computers even though I love them. It has just taken me too many years to finally get the guts to learn more about them, their language and our electronic age.
Updated on July 15, 2022Comments
-
Lish almost 2 years
I can get my code to compile, but it doesn't produce the area that is desired. I'm not sure where I have stumbled.
They want you to have the user enter 6 coordinates (x and y value) for the 3 points of a triangle and get the area. My code is as follows:
import java.util.Scanner; public class AreaTriangle { // find the area of a triangle public static void main (String [] args) { double side1 = 0; double side2 = 0; double side3 = 0; Scanner input = new Scanner(System.in); //obtain three points for a triangle System.out.print("Enter three points for a triangle (x and y intercept): "); double side1x = input.nextDouble(); double side1y = input.nextDouble(); double side2x = input.nextDouble(); double side2y = input.nextDouble(); double side3x = input.nextDouble(); double side3y = input.nextDouble(); //find length of sides of triangle side1 = Math.pow(Math.pow((side2x - side1x), 2) + Math.pow((side2y - side1y), 2) * .05, side1); side2 = Math.pow(Math.pow((side3x - side2x), 2) + Math.pow((side3y - side2y), 2) * .05, side2); side3 = Math.pow(Math.pow((side1x - side3x), 2) + Math.pow((side1y - side3y), 2) * .05, side3); double s = (side1 + side2 + side3) / 2; double area = Math.sqrt(s * (s - side1) * (s - side2) * (s-side3)) * 0.5; System.out.println("area" + area); } }