Java黑皮书课后题第2章:*2.19(几何:三角形面积)编写程序,提示用户输入三角形的三个点(x1, y1)(x2, y2)(x3, y3),然后显示它的面积
*2.19(几何:三角形面积)编写程序,提示用户输入三角形的三个点横纵坐标值,然后显示它的面积
- 题目
- 题目概述
- 运行示例
- 思路
- 代码
- 如何用嵌套的pow()写出两点距离公式
题目
题目概述
2.19(几何:三角形面积)编写程序,提示用户输入三角形的三个点横纵坐标值(x1, y1)(x2, y2)(x3, y3),然后显示它的面积
计算三角形面积的公式(处理后):
s = (side1 + side2 + side3) / 2
area = Math.pow(s(s-side1)(s-side2)(s-side3), 0.5)
运行示例
Enter the coordinates of three points separated by spaces like x1 y1 x2 y2 x3 y3: 1.5 -3.4 4.6 5 9.5 -3.4
The area of the triangle is 33.6
思路
在上面处理过后的三角形面积公式其实已经“暴露”思路了(其实这道题算是非常简单的)
先求出三条边长度
根据三个长度求出s
再求出area
代码
import java.util.Scanner;public class Test2_19 {public static void main(String[] args) {// 接收输入(三个点x y坐标)Scanner input = new Scanner(System.in);System.out.println("Enter the coordinates of three points separated by spaces like x1 y1 x2 y2 x3 y3: ");double x1 = input.nextDouble(), y1 = input.nextDouble();double x2 = input.nextDouble(), y2 = input.nextDouble();double x3 = input.nextDouble(), y3 = input.nextDouble();// 求出三条边的长度double side1 = Math.pow((Math.pow(x1 - x2, 2) + Math.pow(y1 - y2, 2)), 0.5);double side2 = Math.pow((Math.pow(x1 - x3, 2) + Math.pow(y1 - y3, 2)), 0.5);double side3 = Math.pow((Math.pow(x2 - x3, 2) + Math.pow(y2 - y3, 2)), 0.5);// 求s和areadouble s = (side1 + side2 + side3) / 2;double area = Math.pow(s * (s - side1) * (s - side2) * (s - side3), 0.5);// 输出System.out.println("The area of the triangle is " + area);}
}
如何用嵌套的pow()写出两点距离公式
double side1 = Math.pow((Math.pow(x1-x2, 2) + Math.pow(y1-y2, 2)), 0.5);
笔者思路(这是求边的,默认都知道两点之间距离公式):
从外向里,从左到右,逐步深入
- 最外面是根号,那么把根号里面的当做整体(用?表示),即为Math.pow(? ,0.5)①
- 根号下还剩下Math.pow()+Math.pow(),且第二个参数都是2,那么我们将Math.pow(?, 2)+Math.pow(?, 2)带入表达式①,建议带入后前后加对括号
- 这时结果为:Math.pow((Math.pow(?, 2)+Math.pow(?, 2)) ,0.5)
- 那么还剩下(x1-x2)和(y1-y2),直接套对括号带入式子即可
- 得到:Math.pow((Math.pow(x1-x2, 2) + Math.pow(y1-y2, 2)), 0.5)
Java黑皮书课后题第2章:*2.19(几何:三角形面积)编写程序,提示用户输入三角形的三个点(x1, y1)(x2, y2)(x3, y3),然后显示它的面积相关推荐
- Java黑皮书课后题第8章:*8.33(几何:多边形的子面积)一个具有四个顶点的凸多边形被分为4个三角形,编写一个程序,提示用户输入4个顶点的坐标,然后以升序显示四个三角形的面积
*8.33(几何:多边形的子面积)一个具有四个顶点的凸多边形被分为4个三角形,编写一个程序,提示用户输入4个顶点的坐标,然后以升序显示四个三角形的面积 题目 题目描述与运行示例 破题 代码 题目 题目 ...
- Java黑皮书课后题第8章:*8.32(几何:三角形面积)编写一个方法,使用下面的方法头,返回一个三角形的面积。编写一个程序,提示用户输入三角形的三个点,然后显示三角形的面积
*8.32(几何:三角形面积)编写一个方法,使用下面的方法头,返回一个三角形的面积.编写一个程序,提示用户输入三角形的三个点,然后显示三角形的面积 题目 题目描述与运行示例 破题 代码 题目 题目描述 ...
- Java黑皮书课后题第8章:*8.31(几何:交点)编写一个方法,返回两条直线的交点。四个点存放在4*2的二维数组points中。编写一个程序,提示用户输入4个点,并显示交点
*8.31(几何:交点)编写一个方法,返回两条直线的交点.四个点存放在4*2的二维数组points中.编写一个程序,提示用户输入4个点,并显示交点 题目 题目描述 破题 代码 本题运行实例 题目 题目 ...
- Java黑皮书课后题第3章:*3.25(几何:交点)第一条直线上面的两个点是(x1,y1)(x2,y2),第二条(x3,y3)(x4,y4),通过Cramer规则求出线性方程组
*3.25(几何:交点)第一条直线上面的两个点是(x1,y1)(x2,y2),第二条(x3,y3)(x4,y4),通过Cramer规则求出线性方程组 题目 题目概述 题目给出的线性方程组 Cramer ...
- Java黑皮书课后题第11章:11.2(Person Student Employee Faculty Staff类)设计一个名为Person的类及其两个名为Student和Employee的子类
Java黑皮书课后题第11章:11.2(Person Student Employee Faculty Staff类) 题目 缺陷 UML图 代码 Test02_MyDate.java:用于参考的My ...
- Java黑皮书课后题第10章:**10.25(新的字符串split方法)String类中的split方法会返回一个字符串数组,该数组是由分隔符分隔开的子串构成的
Java黑皮书课后题第10章:**10.25(新的字符串split方法) 题目 代码 运行实例 题目 代码 public class Test25 {public static String[] sp ...
- Java黑皮书课后题第10章:10.21(被5或6整除)找出能被5或6整除的大于Long.MAX_VALUE的前10个数字
Java黑皮书课后题第10章:10.21(被5或6整除)找出能被5或6整除的大于Long.MAX_VALUE的前10个数字 题目 代码 结果 题目 都在上面 代码 import java.math.B ...
- Java黑皮书课后题第10章:*10.13(几何:MyRectangle2D类)定义MyRectangle2D类
Java黑皮书课后题第10章:10.3 题目 程序 代码 Test13.java Test13_MyRectangle2D.java 运行 UML 题目 程序 Test13.java:测试程序 Tes ...
- Java黑皮书课后题第10章:10.2(BMI类)将下面的新构造方法加入BMI类中
Java黑皮书课后题第10章:10.2(BMI类)将下面的新构造方法加入BMI类中 题目 程序说明 题目槽点 代码:Test2_BMI.java 运行实例 题目 程序说明 Test2_BMI.java ...
最新文章
- 前端性能毫秒必争方案(一)HTTP请求
- 【Netty】Netty 核心组件 ( Future | Channel | Selector | ChannelHandler )
- 欧盟正研究用三种标准技术应对DNS漏洞
- 《疯狂Java讲义》7
- 马踏棋盘算法(骑士周游)+贪心优化
- chardet java_java实现文件编码监测
- Wampserver的安装与配置笔记
- uniapp小程序的getsysteminfo_Typecho小程序:Pisces-Mini-Program
- 一个经典实用的iptables shell脚本
- 31.Altera PLL ip核的调用
- vue 路由守卫的使用
- 人工智能对智能建筑有哪些影响,智能建筑发展存在哪些问题?
- cαr怎么发音_英文字母在线发音
- 鸿蒙手表定位功能Demo体验,适用儿童、老年和外出旅游安全市场
- kvm迁移镜像启动报错
- 物质,精神和主要矛盾 - 《大国崛起》
- uni-app 预编译器错误:代码使用了scss/sass语言,但未安装相应的编译器插件,请前往插件市场安装该插件
- HC32L130单片机入坑记
- stm32串口通信最后一字节不对异常
- CSS排版练习小作业,文字围绕图片显示,基本的float浮动定位