*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);

笔者思路(这是求边的,默认都知道两点之间距离公式):
从外向里,从左到右,逐步深入

  1. 最外面是根号,那么把根号里面的当做整体(用?表示),即为Math.pow(? ,0.5)①
  2. 根号下还剩下Math.pow()+Math.pow(),且第二个参数都是2,那么我们将Math.pow(?, 2)+Math.pow(?, 2)带入表达式①,建议带入后前后加对括号
  3. 这时结果为:Math.pow((Math.pow(?, 2)+Math.pow(?, 2)) ,0.5)
  4. 那么还剩下(x1-x2)和(y1-y2),直接套对括号带入式子即可
  5. 得到:Math.pow((Math.pow(x1-x2, 2) + Math.pow(y1-y2, 2)), 0.5)

Java黑皮书课后题第2章:*2.19(几何:三角形面积)编写程序,提示用户输入三角形的三个点(x1, y1)(x2, y2)(x3, y3),然后显示它的面积相关推荐

  1. Java黑皮书课后题第8章:*8.33(几何:多边形的子面积)一个具有四个顶点的凸多边形被分为4个三角形,编写一个程序,提示用户输入4个顶点的坐标,然后以升序显示四个三角形的面积

    *8.33(几何:多边形的子面积)一个具有四个顶点的凸多边形被分为4个三角形,编写一个程序,提示用户输入4个顶点的坐标,然后以升序显示四个三角形的面积 题目 题目描述与运行示例 破题 代码 题目 题目 ...

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

    *8.32(几何:三角形面积)编写一个方法,使用下面的方法头,返回一个三角形的面积.编写一个程序,提示用户输入三角形的三个点,然后显示三角形的面积 题目 题目描述与运行示例 破题 代码 题目 题目描述 ...

  3. Java黑皮书课后题第8章:*8.31(几何:交点)编写一个方法,返回两条直线的交点。四个点存放在4*2的二维数组points中。编写一个程序,提示用户输入4个点,并显示交点

    *8.31(几何:交点)编写一个方法,返回两条直线的交点.四个点存放在4*2的二维数组points中.编写一个程序,提示用户输入4个点,并显示交点 题目 题目描述 破题 代码 本题运行实例 题目 题目 ...

  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 ...

  5. 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 ...

  6. Java黑皮书课后题第10章:**10.25(新的字符串split方法)String类中的split方法会返回一个字符串数组,该数组是由分隔符分隔开的子串构成的

    Java黑皮书课后题第10章:**10.25(新的字符串split方法) 题目 代码 运行实例 题目 代码 public class Test25 {public static String[] sp ...

  7. 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 ...

  8. Java黑皮书课后题第10章:*10.13(几何:MyRectangle2D类)定义MyRectangle2D类

    Java黑皮书课后题第10章:10.3 题目 程序 代码 Test13.java Test13_MyRectangle2D.java 运行 UML 题目 程序 Test13.java:测试程序 Tes ...

  9. Java黑皮书课后题第10章:10.2(BMI类)将下面的新构造方法加入BMI类中

    Java黑皮书课后题第10章:10.2(BMI类)将下面的新构造方法加入BMI类中 题目 程序说明 题目槽点 代码:Test2_BMI.java 运行实例 题目 程序说明 Test2_BMI.java ...

最新文章

  1. 前端性能毫秒必争方案(一)HTTP请求
  2. 【Netty】Netty 核心组件 ( Future | Channel | Selector | ChannelHandler )
  3. 欧盟正研究用三种标准技术应对DNS漏洞
  4. 《疯狂Java讲义》7
  5. 马踏棋盘算法(骑士周游)+贪心优化
  6. chardet java_java实现文件编码监测
  7. Wampserver的安装与配置笔记
  8. uniapp小程序的getsysteminfo_Typecho小程序:Pisces-Mini-Program
  9. 一个经典实用的iptables shell脚本
  10. 31.Altera PLL ip核的调用
  11. vue 路由守卫的使用
  12. 人工智能对智能建筑有哪些影响,智能建筑发展存在哪些问题?
  13. cαr怎么发音_英文字母在线发音
  14. 鸿蒙手表定位功能Demo体验,适用儿童、老年和外出旅游安全市场
  15. kvm迁移镜像启动报错
  16. 物质,精神和主要矛盾 - 《大国崛起》
  17. uni-app 预编译器错误:代码使用了scss/sass语言,但未安装相应的编译器插件,请前往插件市场安装该插件
  18. HC32L130单片机入坑记
  19. stm32串口通信最后一字节不对异常
  20. CSS排版练习小作业,文字围绕图片显示,基本的float浮动定位

热门文章

  1. 虚拟机建立快照_使用qmeu-img创建虚拟机(创建虚拟机,虚拟机快照)
  2. 秘密开发一年多,解密奥运史上首个数字云徽章
  3. 浅谈如何成为技术一号位
  4. Hologres揭秘:深度解析高效率分布式查询引擎
  5. 百信银行基于 Apache Hudi 实时数据湖演进方案
  6. 评审恩仇录——我为什么愿意执行代码评审
  7. go语言项目优化(经验之谈)
  8. 火了这么久的 AI,现在怎么样了?
  9. 《秦时明月世界》手游如何用Unity定制化渲染管线?
  10. 【写实与风格化】技术概述