利用海伦公式求面积:

1.编写三角形类

package com.sanj.bean;import com.sanj.exception.NotSanjiaoException;import java.math.BigDecimal;public class Sanj {private int x;private int y;private int z;public Sanj() {}public Sanj(int x, int y, int z) {this.x = x;this.y = y;this.z = z;}/*** 获取三角形面积* @return*/public double getArea(){//利用海伦公式求三角形面积BigDecimal bigDecimal1 = new BigDecimal((this.x+this.y+this.z));BigDecimal bigDecimal2 = new BigDecimal(2);double p = bigDecimal1.divide(bigDecimal2, BigDecimal.ROUND_HALF_UP).doubleValue();double area = Math.sqrt(p * (p - this.x) * (p - this.y) * (p - this.z));return area;}/*** 展示三角形边长*/public void showInfo(){System.out.println("三角形信息:");System.out.println("x边:" + this.x + " y边:" + this.y + " z边:" + this.z );}/*** 检查三边是否能组成三角形*/public void check() throws NotSanjiaoException {//校验三条边长非负数if (this.x <= 0 || this.y <= 0 || this.z <= 0)throw new NotSanjiaoException("x边:" + this.x + " y边:" + this.y + " z边:" + this.z + " 不能构成三角形");//任意两边之和大于第三边if ((this.x + this.y) <= this.z || (this.x + this.z) <= this.y || (this.y + this.z) <= this.x)throw new NotSanjiaoException("x边:" + this.x + " y边:" + this.y + " z边:" + this.z + " 不能构成三角形");//任意两边之差小于第三边if ((this.x - this.y) >= this.z || (this.x - this.z) >= this.y || (this.y - this.z) >= this.x)throw new NotSanjiaoException("x边:" + this.x + " y边:" + this.y + " z边:" + this.z + " 不能构成三角形");}
}

2.编写自定义异常

package org.example.exception;/*** 自定义异常类* 三边不能组成三角形异常*/public class NotSanjiaoException extends Exception{public NotSanjiaoException() {}public NotSanjiaoException(String message) {super(message);}}

3.测试

package org.example;import org.example.bean.Sanj;
import org.example.exception.NotSanjiaoException;import java.util.Scanner;public class Test {public static void main(String[] args) throws NotSanjiaoException {Scanner sc = new Scanner(System.in);System.out.println("输入第一条边边长:");int x = sc.nextInt();System.out.println("输入第二条边边长:");int y = sc.nextInt();System.out.println("输入第三条边边长:");int z = sc.nextInt();Sanj sanj = new Sanj(x,y,z);sanj.check();sanj.showInfo();double area = sanj.getArea();System.out.println("三角面积:"+area);}}

已知三角形边长,求三角形面积相关推荐

  1. 已知向量坐标求三角形面积

    引出一个问题 如何判断一个点是否在三角形中?

  2. c语言求正方形内切圆面积公式,C语言已知内切圆半径求直角三角形的三条边长...

    这道题的答案应该是这样, 我给你说一下思路 首先这个问题只需要一次循环就能得出答案 因为已知内切圆半径和三角形是直角这两个信息, 这时候设其中一条直角边长度为X 另一条直角边的长度是不是就已经确定了? ...

  3. 以抛出异常的思想完成判断三边是否能够构成三角形及求三角形的面积

    以抛出异常的思想完成判断三边是否能够构成三角形及求三角形的面积 写一个方法void sanj(int a,int b,int c),判断三个参数是否能构成一个三角形,如果不能则抛出异常NotSanji ...

  4. c++已知2点求中垂线_呆哥数学函数合集——函数的概念【2】

    高中数学函数基本概念,学好函数还是要先懂概念再做题. 下面是呆哥给你们整理好的基本知识要点. 不懂的可以找我私聊,在线帮你解答. 多看我专栏发的每日一题和解析,会对你们有用的 . 加油哈!离高考还有一 ...

  5. 高斯投影坐标计算例题_测量学高斯投影已知横坐标如何求在第几度带投影计算而得的?例如:...-y坐标的自然值怎么算-数学-莫囤料同学...

    概述:本道作业题是莫囤料同学的课后练习,分享的知识点是y坐标的自然值怎么算,指导老师为甘老师,涉及到的知识点涵盖:测量学高斯投影已知横坐标如何求在第几度带投影计算而得的?例如:...-y坐标的自然值怎 ...

  6. 已知经纬度坐标求两点间距离,用python表示

    已知经纬度坐标求两点间距离,用python表示 已知地球上任意两点(lon1, lat1),( lon2, lat2)的经纬度坐标,求两点间的距离用haversine表示: 1.首先先将经纬度坐标的角 ...

  7. python坐标表示_已知经纬度坐标求两点间距离,用python表示

    已知经纬度坐标求两点间距离,用python表示 已知地球上任意两点(lon1, lat1),( lon2, lat2)的经纬度坐标,求两点间的距离用haversine表示: 1.首先先将经纬度坐标的角 ...

  8. matlab已知三点求夹角,已知3点如何求其中两点对第3点的夹角

    公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:已知3点如何求其中两点对第3点的夹角? 问题详情:有3个问题:1)已知3点如何求其中两点对第3点的夹角?2)如何回答:1)已知3点求 ...

  9. 已知网络号求子网掩码c语言,已知ip地址求子网掩码 - 已知ip地址求子网掩码_已知ip地址和子网掩码求网络号、子网号和主机号...

    已知ip地址求子网掩码的方法: 方法一:利用子网数来计算: 1.首先,将子网数目从十进制数转化为二进制数: 2.接着,统计得到的二进制数的位数,设为N: 3.最后,先求出此IP地址对应的地址类别的子网 ...

  10. C语言入门:根据三角形边长确定三角形为何种三角形

    C语言:根据三角形边长确定三角形为何种三角形 #include<stdio.h> #include<stdlib.h> void main(){int a,b,c;scanf( ...

最新文章

  1. oracle批量更新数据从另一表_常用SQL系列之(五):多表和禁止插入、批量与特殊更新等...
  2. WPF MeshGeometry3D中的Normals和TextureCoordinates属性
  3. python画饼图-从零开始学Python--matplotlib(饼图)
  4. what does tf.no_op do and tf.control_dependencies work?
  5. jq调用android方法,Android端JQueryMobile使用教程(一)
  6. Tensorflow C3D完成视频动作识别
  7. Nat Commun|单细胞ATAC-seq深度学习工具包AtacWorks,简单、高效且适用
  8. 三款在线css3样式生成工具
  9. java元类_元类 - 一心不乱 - 博客园
  10. android Json解析详解(详细代码)
  11. 在ASP.NET中使用AJAX的简单方法 转载
  12. 在线编程无法在sublime中使用input()和raw_input()的解决方法
  13. 【C语言】实现网络对战五子棋
  14. python——获取矩形四个角点的坐标
  15. 图像表头数据读取,图像数据块读取,图像类型转换
  16. 告别奇虎360、依图科技,再谋他途!依图CTO颜水成被曝离职!
  17. 上海商报:超级表格创始人叫板Excel
  18. 【Arduino实验10 数码管显示】
  19. lhgdialog的弹出框操作
  20. C/C++ 文件设备操作之CreateFile、ReadFile和WriteFile

热门文章

  1. 女孩学计算机科学与技术专业好吗,女生适合学计算机科学与技术专业吗
  2. 实现删除列表的重复值的功能
  3. 对比JAVA学习PHP系列:数据结构
  4. timertask java_java Timer和TimerTask(简单的使用)
  5. 安装Adobe软件提示Error怎么解决?
  6. 战略升级|蜜拓蜜·蜜女王集团战略升级,更名“京沅”集团
  7. RabbitMQ安装和管理界面设置
  8. VPX显示计算机学习资料第711篇:飞腾1500A-4+8860 6UVPX显示计算机
  9. 达梦数据库的归档配置
  10. Keil MDK使用第16篇---call stack +locals 调用堆栈值