Java 计算三角形的面积
我是Java新手。我尝试使用以下公式计算三角形的面积: s=1侧+2侧+3/2侧 面积=平方根侧面-侧面1侧面-侧面2侧面-侧面3 如果用户输入三个点作为: 1.5-3.4.6 5 9.5-3.4然后三角形的面积应为33.6。然而,我的程序运行,但它给了我一个错误的答案。下面是我的代码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
// 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的方法似乎是错误的。