失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Java黑皮书课后题第8章:*8.32(几何:三角形面积)编写一个方法 使用下面的方法头

Java黑皮书课后题第8章:*8.32(几何:三角形面积)编写一个方法 使用下面的方法头

时间:2018-07-06 08:54:59

相关推荐

Java黑皮书课后题第8章:*8.32(几何:三角形面积)编写一个方法 使用下面的方法头

*8.32(几何:三角形面积)编写一个方法,使用下面的方法头,返回一个三角形的面积。编写一个程序,提示用户输入三角形的三个点,然后显示三角形的面积

题目题目描述与运行示例破题代码

题目

题目描述与运行示例

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.0The area of the triangle is 2.25

Enter x1, y1, x2, y2, x3, y3: 2 2 4.5 4.5 6 6The 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][2];//2. 主方法:输出提示输入语句,使用循环接收点坐标Scanner input = new Scanner(System.in);System.out.print("Enter x1, y1, x2, y2, x3, y3: ");for (int i = 0 ; i < 3 ; i++){for (int j = 0 ; j < 2 ; j++){points[i][j] = input.nextDouble();}}//3. 主方法:调用自定义方法getTriangleArea,传入二维数组pointsdouble feedback = getTriangleArea(points);//4. 主方法:根据返回值输出对应内容if ( feedback == 0){System.out.println("The three points are on the same line");} else {System.out.printf("The area of the triangle is %.2f", feedback);}}public static double getTriangleArea(double[][] points){//5. 方法getTriangleArea:先判断三个点是否在同一条直线上,如果在则返回0double k01 = 0 , k02 = 0, b01 = 0, b02 = 0;k01 = (points[1][1] - points[0][1] ) / (points[1][0] - points[0][0]);k02 = (points[2][1] - points[0][1]) / (points[2][0] - points[0][0]);b01 = points[0][1] - k01 * points[0][0];b02 = points[0][1] - k02 * points[0][0];if (k01==k02 && b01==b02){return 0;}//6. 方法getTriangleArea:计算三条边double side1 = Math.sqrt(Math.pow(points[1][0] - points[0][0], 2) + Math.pow(points[1][1] - points[0][1], 2));double side2 = Math.sqrt(Math.pow(points[2][0] - points[0][0], 2) + Math.pow(points[2][1] - points[0][1], 2));double side3 = Math.sqrt(Math.pow(points[2][0] - points[1][0], 2) + Math.pow(points[2][1] - points[1][1], 2));//7. 方法getTriangleArea:计算公式中的sdouble s = (side1 + side2 + side3) / 2;//8. 方法getTriangleArea:返回面积return Math.sqrt(s*(s-side1)*(s-side2)*(s-side3));}}

Java黑皮书课后题第8章:*8.32(几何:三角形面积)编写一个方法 使用下面的方法头 返回一个三角形的面积。编写一个程序 提示用户输入三角形的三个点 然后显示三角形的面积

如果觉得《Java黑皮书课后题第8章:*8.32(几何:三角形面积)编写一个方法 使用下面的方法头 》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。