189 8069 5689

海伦公式java代码,海伦公式由来

java中怎么求三角形的面积

java中求三角形的面积可以通过海伦公式来求解,具体示例代码如下:

成都创新互联公司成立与2013年,是专业互联网技术服务公司,拥有项目成都网站设计、成都网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元永吉做网站,已为上家服务,为永吉各地企业和个人服务,联系电话:13518219792

public class Demo3 {

public static void main(String[] args) {

//三边长

float a = 3;

float b = 4;

float c = 5;

float s;//面积

s = (float)((1.0/4.0)*Math.sqrt((a+b+c)*(a+b-c)*(a+c-b)*(b+c-a)));

System.out.println(s);

}

}

海伦公式是利用三角形的三条边的边长直接求三角形面积的公式,公式为1/4*sqrt[(a+b+c)*(a+b-c)*(a+c-b)*(b+c-a)]。

java 应用海伦公式求三角形面积(要求判断三角型是否成立)

import java.util.Scanner;

public class Heron {

public static void main(String[] args) {

Double a, b, c;

Scanner s = new Scanner(System.in);

System.out.println("输入三边长:");

try {

a = Double.parseDouble(s.nextLine());

b = Double.parseDouble(s.nextLine());

c = Double.parseDouble(s.nextLine());

} catch (Exception e) {

System.out.println("格式有误。");

s.close();

return;

}

if (isTriangle(a, b, c)) 

System.out.println("面积为:" + calcArea(a, b, c));

else 

System.out.println("不是正确的三角形。");

s.close();

}

public static boolean isTriangle(Double a, Double b, Double c) {

if ((a + b  c)  (a + c  b)  (b + c  a))

return true;

return false;

}

public static Double calcArea(Double a, Double b, Double c) {

Double s = (a + b + c) / 2;

Double area = Math.sqrt(s * (s - a) * (s - b) * (s - c));

return area;

}

}

结果如下:

java 海伦公式编程

海伦公式的几种另证及其推广

关于三角形的面积计算公式在解题中主要应用的有:

设△abc中,a、b、c分别为角a、b、c的对边,ha为a边上的高,r、r分别为△abc外接圆、内切圆的半径,p

=

(a+b+c),则

s△abc

=

aha=

ab×sinc

=

r

p

=

2r2sinasinbsinc

=

=

其中,s△abc

=

就是著名的海伦公式,在希腊数学家海伦的著作《测地术》中有记载。

海伦公式在解题中有十分重要的应用。

一、

海伦公式的变形

s=

=

=

=

=

=

二、

海伦公式的证明

证一

勾股定理

分析:先从三角形最基本的计算公式s△abc

=

aha入手,运用勾股定理推导出海伦公式。

证明:如图ha⊥bc,根据勾股定理,得:

x

=

y

=

ha

=

=

=

s△abc

=

aha=

=

此时s△abc为变形④,故得证。

证二:斯氏定理

分析:在证一的基础上运用斯氏定理直接求出ha。

斯氏定理:△abc边bc上任取一点d,

若bd=u,dc=v,ad=t.则

t

2

=

证明:由证一可知,u

=

v

=

ha

2

=

t

2

=

s△abc

=

aha

=

a

×

=

此时为s△abc的变形⑤,故得证。

证三:余弦定理

分析:由变形②

s

=

可知,运用余弦定理

c2

=

a2

+

b2

-2abcosc

对其进行证明。

证明:要证明s

=

则要证s

=

=

=

ab×sinc

此时s

=

ab×sinc为三角形计算公式,故得证。

证四:恒等式

分析:考虑运用s△abc

=r

p,因为有三角形内接圆半径出现,可考虑应用三角函数的恒等式。

恒等式:若∠a+∠b+∠c

=180○那么

tg

·

tg

+

tg

·

tg

+

tg

·

tg

=

1

证明:如图,tg

=

tg

=

tg

=

根据恒等式,得:

+

+

=

①②③代入,得:

∴r2(x+y+z)

=

xyz

如图可知:a+b-c

=

(x+z)+(x+y)-(z+y)

=

2x

∴x

=

同理:y

=

z

=

代入

④,得:

r

2

·

=

两边同乘以

,得:

r

2

·

=

两边开方,得:

r

·

=

左边r

·

=

r·p=

s△abc

右边为海伦公式变形①,故得证。

证五:半角定理

半角定理:tg

=

tg

=

tg

=

证明:根据tg

=

=

∴r

=

×

y

同理r

=

×

z

r

=

×

x

①×②×③,得:

r3

=

×xyz

用Java编写一个简单地通过海伦公式求三角形面积的类

import java.util.*;

class MyException extends Exception{

public MyException(String msg){

super(msg);

}

public String getMessage(){

return super.getMessage();

}

}

public class Hailun{

public static double enter(int i){

Scanner sc = new Scanner(System.in);

boolean flag = false ;

String str = null ;

while(!flag){

System.out.println("输入第"+i+"条边长,类型为double型");

str = sc.nextLine();

if(!str.matches("\\d+[.]{0,1}\\d+")){

try{

throw new MyException("输入内容类型不正确");

}catch(MyException e){

e.printStackTrace();

}

}

else{

flag = true ;

}

}

return Double.valueOf(str);

}

public static double jisuan() throws MyException{

double x = 0,y = 0,z = 0;

x = enter(1);

y = enter(2);

z = enter(3);

isTrue(x,y,z);

double p = (x+y+z)/2;

p = Math.sqrt((p*(p-x)*(p-y)*(p-z)));

return p;

}

public static boolean isTrue(double x,double y,double z) throws MyException{

if(x+yzx+zyy+zx){

return true ;

}

else{

throw new MyException("输入的三条边无法构成三角形!");

}

}

public static void main(String args[]){

try{

System.out.println("面积为:"+jisuan());

}catch(MyException e){

e.printStackTrace();

}

}

}


当前题目:海伦公式java代码,海伦公式由来
标题来源:http://jkwzsj.com/article/dsidoge.html

其他资讯