题目
题目描述与运行示例
8.32(几何:三角形面积)编写一个方法,使用下面的方法头,返回一个三角形的面积:
public static double getTriangleArea(double[][] points)
点保存在32的二维数组points中,三角形面积计算可以使用编程练习题2.19中公式,如果三个点在一条直线上方法返回0
编写一个程序,提示用户输入三角形的三个点,然后显示三角形的面积
博主补充三角形面积公式:
s = (side1 + side2 + side3) / 2
area = Math.sqrt(s*(s-side1)(s-side2)(s-side3))
运行示例:
Enter x1, y1, x2, y2, x3, y3: 2.5 2 5 -1.0 4.0 2.0
The area of the triangle is 2.25
Enter x1, y1, x2, y2, x3, y3: 2 2 4.5 4.5 6 6
The three points are on the same line
破题
- 主方法:声明一个3*2的二维数组points,double型
- 主方法:输出提示输入语句,使用循环接收点坐标
- 主方法:调用自定义方法getTriangleArea,传入二维数组points
- 主方法:根据返回值输出对应内容
- 方法getTriangleArea:先判断三个点是否在同一条直线上,如果在则返回0
- 方法getTriangleArea:计算三条边
- 方法getTriangleArea:计算公式中的s
- 方法getTriangleArea:返回面积
代码
import java.util.Scanner;
public class Test8_32 {
public static void main(String[] args) {
//1. 主方法:声明一个3*2的二维数组points,double型
double[][] points = new double[3][