Java 计算三角形的面积

Java 计算三角形的面积,java,Java,我是Java新手。我尝试使用以下公式计算三角形的面积: s=1侧+2侧+3/2侧 面积=平方根侧面-侧面1侧面-侧面2侧面-侧面3 如果用户输入三个点作为: 1.5-3.4.6 5 9.5-3.4然后三角形的面积应为33.6。然而,我的程序运行,但它给了我一个错误的答案。下面是我的代码 // Import Java Scanner import java.util.Scanner; import java.lang.Math; public class Ex_2_19 { public

我是Java新手。我尝试使用以下公式计算三角形的面积:

s=1侧+2侧+3/2侧

面积=平方根侧面-侧面1侧面-侧面2侧面-侧面3

如果用户输入三个点作为: 1.5-3.4.6 5 9.5-3.4然后三角形的面积应为33.6。然而,我的程序运行,但它给了我一个错误的答案。下面是我的代码

// Import Java Scanner
import java.util.Scanner;
import java.lang.Math;
public class Ex_2_19 {
    public static void main(String[] args) {
    //Create a Scanner object
    Scanner input = new Scanner(System.in);
    float side = 0;
    float area1 = 0;
    float area2 = 0;
    float area3 = 0;
    float area4 = 0;
    float calculatedarea = 0;

    //Prompt the user to enter three points of a triangle
    System.out.println("Enter point x1:");
    System.out.println("Enter point y1:");
    System.out.println("Enter point x2:");
    System.out.println("Enter point y2:");
    System.out.println("Enter point x3:");
    System.out.println("Enter point y3:");

    //Define the variables
    float Pointx1 = input.nextFloat();
    float Pointy1 = input.nextFloat();
    float Pointx2 = input.nextFloat();
    float Pointy2 = input.nextFloat();
    float Pointx3 = input.nextFloat();
    float Pointy3 = input.nextFloat();

    //Formula to calculate the area of a triangle
    side = (Pointx1 + Pointy1 + Pointx2 + Pointy2 + Pointx3 + Pointy3) / 2;
    area1 = side - (Pointx1 + Pointy1);
    area2 = side - (Pointx2 + Pointy2);
    area3 = side - (Pointx3 + Pointy3);
    area4 = side * area1 * (area2) * (area3);
    calculatedarea = (float) (Math.sqrt(area4)); 
    //calculatedarea = (float) (Math.sqrt(area1)*(area2) * (area3)); 

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


}

}

您正在尝试-注意a、b、c是点之间的欧几里德距离,因此需要通过sqrtx1-x2*x1-x2+y1-y2*y1-y2等计算,而不仅仅是差异的总和。

您正在尝试-注意a、b、c是点之间的欧几里德距离,因此需要通过sqrtx1-x2*x1-x2+y1-y2*y1-y2等计算,而不仅仅是差的总和。

您使用的公式适用于三角形边的长度。你只是把每个点的X和Y坐标相加,与长度无关。根据,通过计算每对xy坐标之间的距离,找到长度a,b,c。你计算面积1,2,34的方法似乎是错误的。你所使用的公式适用于三角形边的长度。你只是把每个点的X和Y坐标相加,与长度无关。根据,通过计算每对xy坐标之间的距离,找到长度a,b,c。您计算面积1、2、3和4的方法似乎是错误的。