寻找三角区域

时间:2016-08-31 20:29:39

标签: java

我有一个问题,我想问你。在我的java编程书中,它要求我编写一个程序,找到给出3分的三角形区域。我尝试了很多方法,但我永远无法得到正确的答案。你能帮我解决一下这个问题。谢谢!这是一个问题:

2.15

这是我的代码:

import java.util.Scanner;

public class shw2point15 {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        System.out.println("Enter three points for a triangle:");

        double x1 = input.nextDouble();
        double y1 = input.nextDouble();
        double x2 = input.nextDouble();
        double y2 = input.nextDouble();
        double x3 = input.nextDouble();
        double y3 = input.nextDouble();


        double s = ((x1 + y1) + (x2 + y2) + (x3 + y3)) / 2;
        double area = Math.sqrt(s * (s - (x1 - y1)) * (s - (x2 - y2)) * (s - (x3 - y3)));



        System.out.println("The area of the triangle is " + area);
    }
}

1 个答案:

答案 0 :(得分:0)

您没有得到正确答案的原因是您没有正确找到方面。但是,在找到边长后,您可以得到答案。这是我做的:

public static void main(String[] args)
    {
        Scanner input = new Scanner(System.in);

        System.out.println("Enter three points for a triangle:");

        //Store the values in an array.
        double[] xCoordinates = new double[3];
        double[] yCoordinates = new double[3];
        double[] sides = new double[3];

//      Input the values into the array
        xCoordinates[0] = input.nextDouble();
        yCoordinates[0] = input.nextDouble();
        xCoordinates[1] = input.nextDouble();
        yCoordinates[1] = input.nextDouble();
        xCoordinates[2] = input.nextDouble();
        yCoordinates[2] = input.nextDouble();

//      Find the side length from the input. There probably are better ways to do this.
        sides[0] = Math.sqrt(Math.pow(xCoordinates[0]-xCoordinates[1], 2)+Math.pow(yCoordinates[0]-yCoordinates[1], 2));
        sides[1] = Math.sqrt(Math.pow(xCoordinates[1]-xCoordinates[2], 2)+Math.pow(yCoordinates[1]-yCoordinates[2], 2));
        sides[2] = Math.sqrt(Math.pow(xCoordinates[2]-xCoordinates[0], 2)+Math.pow(yCoordinates[2]-yCoordinates[0], 2));

//      Find s from the sides
        double s = ( sides[0]+sides[1]+sides[2] )/2;

//      Find the area.
        double area = Math.sqrt(s*( s-sides[0] )*( s-sides[1] )*( s-sides[2] ));

//      Print the area
        System.out.println("The area of the triangle is "+area);

//      Output~~~~~~~~~~~~~~~
//Enter three points for a triangle:
//      1.5
//      -3.4
//      4.6
//      5
//      9.5
//      -3.4
//      The area of the triangle is 33.600000000000016
}'